[C++] Access, Unicode en OLEDB

Pagina: 1
Acties:

  • Zoppie
  • Registratie: December 2000
  • Niet online
Ik heb het volgende probleem:
In access 2000 heb ik een textveld aangemaakt van 12 karakters lang.
In mijn vc++ 6.0 progje maak ik gebruik van een OLEDB koppeling met een CDynamicAccessor, met een simpele query 'select * from table'.

In het access veld zit een string van 9 karakters. Als ik echter de lengte uitvraag via OLEDB krijg ik een waarde van 18 terug. En als ik de waarde uitvraag krijg ik een DBSTATUS_S_TRUNCATED.

Oke, Access 2000 gebruikt unicode voor zijn text velden, dan mag ik toch verwachten dat als ik 9 karakters wil ik 18 bytes krijg. Het vreemde is ook dat ik onder Access wel gewoon 11 karakters kan ingeven.

Ik heb gezocht bij MS en GOT, maar niks gevonden op dit gebied. Is de OLEDB koppeling (Microsoft.Jet.OLEDB.4.0) met Access brak (gebruik normaal altijd sql server en die werkt goed).

Heeft iemand een idee, behalve dan in access 2 keer de hoeveekl ruimte reserveren (22 ipv 11 karakters).