Probleme mit SqlExpress - logisches Feld/Ascii-Konvertierung
Verfasst: Sa, 20. Nov 2010 23:55
Habe die Testversion (neueste Version) von SqlExpress und habe Probleme mit logischen Feldern und der (automatischen) Ascii-Konvertierung.
Setze MySql 5.1 und 5.5 ein. Probleme sind gleich.
Hier die Sql-Syntax, die über Workbench gestartet wurde:
create Table test.test (name varchar(30),Aktiv Bit(1), primary key (name));
insert Test.test (Name,Aktiv) values ("ÄÖÜöäÜ Test",1);
insert Test.test (Name,Aktiv) values ("Test öäüÖÄÜ",0);
Dann habe ich das Programm SqlBro.prg nur so modifiziert, dass auf die Sql-Tabelle zugegriffen und angezeigt wird.
Das Feld "Aktiv" wird in beiden Fällen mit FALSE (.F.) auch im DataArea von oCursor ausgegeben. Die automatische Ascii-Konvertierung funktioniert auch nicht. Mit einer User-Funktion bekomme ich das in den Griff, sollte aber nicht sein.
Über die normale Alaska-Odbc bekomme ich auch die Konvertierung und die Ausgabe der Logischen Felder ist auch korrekt.
DbeSys enthält:
PROCEDURE DbeSys()
set collation to ASCII
Return
In der normalen Alaska-Odbc habe ich allerdings das Problem, dass bei varChar-Feldern öfters der rechte Teil abgeschnitten wird. Anscheinend wird die Länge des Feldes aus dem ersten Datensatz ermittelt. Gibt es bei Tabellen varChar(n)-Felder und Char(1)-Felder bekomme ich den folgenden XppError.log, sobald auf das char(1)-Feld zugegriffen wird.
oError:description : Fehler beim Lesen
oError:filename :
oError:genCode : 73
oError:operation : KZ_INV
wer kennt bzw. hat/hatte diese Probleme ?? besser noch die Lösung
Nachtrag: benutze xBase 1.90.331 + xbTools
Setze MySql 5.1 und 5.5 ein. Probleme sind gleich.
Hier die Sql-Syntax, die über Workbench gestartet wurde:
create Table test.test (name varchar(30),Aktiv Bit(1), primary key (name));
insert Test.test (Name,Aktiv) values ("ÄÖÜöäÜ Test",1);
insert Test.test (Name,Aktiv) values ("Test öäüÖÄÜ",0);
Dann habe ich das Programm SqlBro.prg nur so modifiziert, dass auf die Sql-Tabelle zugegriffen und angezeigt wird.
Das Feld "Aktiv" wird in beiden Fällen mit FALSE (.F.) auch im DataArea von oCursor ausgegeben. Die automatische Ascii-Konvertierung funktioniert auch nicht. Mit einer User-Funktion bekomme ich das in den Griff, sollte aber nicht sein.
Über die normale Alaska-Odbc bekomme ich auch die Konvertierung und die Ausgabe der Logischen Felder ist auch korrekt.
DbeSys enthält:
PROCEDURE DbeSys()
set collation to ASCII
Return
In der normalen Alaska-Odbc habe ich allerdings das Problem, dass bei varChar-Feldern öfters der rechte Teil abgeschnitten wird. Anscheinend wird die Länge des Feldes aus dem ersten Datensatz ermittelt. Gibt es bei Tabellen varChar(n)-Felder und Char(1)-Felder bekomme ich den folgenden XppError.log, sobald auf das char(1)-Feld zugegriffen wird.
oError:description : Fehler beim Lesen
oError:filename :
oError:genCode : 73
oError:operation : KZ_INV
wer kennt bzw. hat/hatte diese Probleme ?? besser noch die Lösung
Nachtrag: benutze xBase 1.90.331 + xbTools