16. dets 2007

MYSQL (odbc) naljad

Mjah...tuli mul feedreaderisse uudis, et mysql odbc 5.1.1 välja, lahe, oligi vaja kasutada koos adoga teda. Jõudsin juba rõõmustada, aga enneaegselt. Kui odbc 5.1.0 sisaldas viga, kui kirjutasid mediumtext väljale, mis oli utfd8 collationiga, siis sisuliselt jättis draiver vabastamata mälu, mis ta sisemiselt küsis selle teksti kirjutamiseks.

Ok, lahe oli, odbc 5.1.1, üllatus üllatus....mäluviga kadunud, viskasin näppu juba. Nüüd vaatasin, et mis jama on Delphi ADO + mediumtext annab tüübiks adLongVarWChar, väga õige, siis kadus ära märkude probleem utf8 puhul, kui conversion õigesti teha.

Muideks odbc 5.1.1 ei toeta enam parameetrit set names !!

Üllatused jätkusid, andmetüüp õige, kõik õige, aga ADO kaudu tuli välja VAID tühistring.
Kuidas ma ka ei proovinud, andis välja valet tüüpi infot, huvitav oli see, et ADO tuvastas selle kui blobina, aga datasize = 0. Mis näitas, et miskit juba mäda.

Eks lahendasin probleemi ära teistmoodi, väga rõveda hackiga, mille pean kahjuks hetkel enda teada hoidma.

Järgmine üllatus oli ADO + odbc koosluses oli: "Row handles must all be released before new ones can be obtained"; jah kursor ei olnud serveri pool;jah tabelit ei uuendatud, ega üritatud miskit lugeda. Tegemist mingi uue bugiga ODBC draiveris, ehk ootame jälle järgmist uuendust.... kurb

Kommentaare ei ole: