Seite 1 von 1

Zugriff auf MySQL über SQLExpress for Xbase++

Verfasst: Do, 13. Mär 2008 9:49
von rassekst
Hallo,

Ich verwende SQLExpress for Xbase++ von Boris um auf MySQL und MSSQL zuzugreifen.
Leider habe ich ein Problem auf MySQL Felder vom Typ LongText. Als Rückgabewert erhalte ich NIL. Unter MSSQL ist dieses Feld vom Typ Ntext. Dort kann ich es aber korrekt auslesen.

Ich verwende den aktuellsten MySQL Treiber und auch SQLExpress ist auf den aktuellsten Stand.

An Boris ist eine Mail gegenagen. Ich habe aber noch keine Antwort.

Kennt vielleicht jemand dieses Problem?

Danke für jede Hilfe
Steffen

Verfasst: Do, 13. Mär 2008 11:16
von brandelh
Hallo,

was ist LongText bei MySQL, Memofelder ?

Verfasst: Do, 13. Mär 2008 11:35
von rassekst
Hallo Hubert,

LongText Felder sin Blob Felder bis 4GByte Länge.
Leider kann ich den Typ der Felder nicht ändern.

Ich habe aber mal wieder die SQL Lib von Alaska probiert. Diese kommt mit den Feldern sehr gut zurecht. Leider habe ich vor geraumer Zeit wegen diverser anderer Probleme auf die Lib von Boris umgestellt. Ich kann doch nicht jedes mal die Werkzeuge wechseln.

Gruss Steffen

Verfasst: Do, 13. Mär 2008 11:43
von Jan
Steffen,

red doch mal mit Alaska. Vielleicht sind ja die "alten" Probleme inzwischen behoben. Insbesondere, da ja im Moment ein neuer SQL-Zugriff eingebaut wird. Vielleicht haben die ja jetzt genau das richtige für Dich?

Jan

Verfasst: Do, 13. Mär 2008 21:42
von rassekst
Hallo Jan,

Ich habe erstmal die neuste version von Boris geupdatet. Leider ohne Erfolg.

Um überhaupt hier weiter zu kommen habe ich die Alaska SQL Version wieder eingebaut. Nun kommt ein neues Problem.

Ich erstelle in einer Procedure die Connection. Wenn ich in der gleichen Procedure den ODBC Zugriff durchführe geht alles. Wenn ich aber den Zugriff in einer Unterfunktion durchführe erlalte ich folgenden Fehler:


------------------------------------------------------------------------------
FEHLERPROTOKOLL von "C:\Alaska\Programme\DWArchivTest\DWArchivTest.exe" Datum: 13.03.2008 20:59:49

Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebssystem : Windows XP 05.02 Build 03790 Service Pack 2
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: L VALUE: .F.
-> VALTYPE: C VALUE: ODBCDBE
-> VALTYPE: C VALUE: SELECT * FROM DWSYSTEM.dwfilecabinet WHERE guid='b2311053-abb4-4dff-ba55-07299ff5b719';
-> VALTYPE: C VALUE: S170
-> VALTYPE: U VALUE: NIL
-> VALTYPE: L VALUE: .F.
oError:canDefault : J
oError:canRetry : J
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Database Engine und aktive Session sind nicht kompatibel
oError:filename :
oError:genCode : 92
oError:operation : DbUseArea
oError:osCode : 0
oError:severity : 2
oError:subCode : 8062
oError:subSystem : BASE
oError:thread : 3
oError:tries : 1
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von HOLE_SPEICHERORT(2616)
Aufgerufen von HOLE_DOCNAME(2544)
Aufgerufen von HOLE_DATNAME(885)
Aufgerufen von START_FUNC(528)

Wenn ich den Aufbau in die Unterfunktion verlege geht auch alles.
Kennt jemand diesen Fehler ?

Kann es sein das ein Threadwechsel nicht verkraftet wird?

Gruss Steffen

Verfasst: Do, 13. Mär 2008 21:46
von Martin Altmann
Hallo Steffen,
zumindest bei "normalen" Datenbanken sind die Workspaces threadlokal!
Das wird also bei SQL wahrscheinlich ähnlich sein...

Viele Grüße,
Martin

Verfasst: Do, 13. Mär 2008 22:29
von rassekst
Hallo Martin,

Du hast recht, ich habe die Connection in den selben Thread gelegt und es geht erstmal.

Ich hoffe Boris kann mir mit den longtext Feldern helfen. Wo ich doch gerade wieder in SQLExpress investiert habe.

Gruss Steffen

Verfasst: Fr, 14. Mär 2008 9:49
von rassekst
Hallo,

Zur Info:

Das Problem mit MySQL und SQLExpress wurde von Boris behoben. :D

Grüsse
Steffen

Verfasst: Fr, 14. Mär 2008 9:57
von brandelh
rassekst hat geschrieben:Das Problem mit MySQL und SQLExpress wurde von Boris behoben. :D
per Update oder durch Einstellungen ?

Verfasst: Fr, 14. Mär 2008 10:07
von rassekst
per update.

Verfasst: Fr, 14. Mär 2008 10:29
von brandelh
Hi,

auf der Homepage finde ich nur die Version Build: 3.2.01, die ich schon habe. Welchen Build hast du nun ?

Verfasst: Fr, 14. Mär 2008 10:51
von rassekst
Hallo,

Boris hatte mir einen Link gesendet.

Die Version ist 3.2.03

Gruss Steffen

Verfasst: Fr, 14. Mär 2008 11:15
von rassekst
Hallo,

Im Gegensatz zu den SQL Routinen von ALASKA sind die in SQLExpress nicht nur Threadlocal einsetzbar.

Steffen