![]() |
Datenbank: MySQL • Version: 5.x • Zugriff über: directmysql
umysqlvio typumwandlung
kurze vorgeschichte:
hab ein prog mit der dbexpress komponente geschrieben was auf einem anderen pc ohne delphi leider nicht läuft. (gibt anscheinend auch keine lösung dafür) hatte nun vor das ganze über directmysql zu lösen. - leider tritt dort folgender fehler auf: [DCC Fehler] umysqlvio.pas(964): E2089 Ungültige Typumwandlung weiter unten der gleiche fehler nocheinmal: [DCC Fehler] umysqlvio.pas(980): E2089 Ungültige Typumwandlung jemand ne lösung? nochmal wichtige daten: - delphi 2009 arc - DirectMySQLObjects122 (- mysql-server 5.x) |
Re: umysqlvio typumwandlung
Was steht den in der Zeile des Sourcecodes?
|
Re: umysqlvio typumwandlung
Delphi-Quellcode:
{$IFNDEF _WIN_}
ffcntl_mode := fcntl(fsd, F_GETFL); {$ENDIF} {$IFDEF _WIN_} vio_blocking(false); {$ENDIF} //try to resolve the host <- Zeile 964 fillchar(sock_addr,sizeof(sock_addr),#0); sock_addr.sin_family := AF_INET; ip_addr := {$IFOPT R+}cardinal{$ENDIF}(inet_addr(pchar(host))); // thanks Jiri Barton if (ip_addr <> INADDR_NONE) then sock_addr.sin_addr:=in_addr(ip_addr) else begin hp:=gethostbyname(pchar(host)); if (hp=nil) then begin flast_errno:=CR_UNKNOWN_HOST; {$IFDEF _WIN_} flast_error:=format(client_errors[(flast_errno)-CR_MIN_ERROR],[host, WSAGetLastError]); {$ELSE} flast_error:=format(client_errors[(flast_errno)-CR_MIN_ERROR],[host, errno]); {$ENDIF} <- Zeile 980 result:=-7; //we can't connect closesocket(sock); exit; end; |
Re: umysqlvio typumwandlung
Nachdem ich die Suche nach einer Antwort vorerst aufgegeben hatte bin ich nun durch zufall auf die Lösung gestoßen.
Anscheinend funzt directmysql mit delphi 2009 und 2010 nicht nur bei mir nich... In einem "alten" Forum von sourceforge.net hat sich jemand die arbeit gemacht und die datei/dateien überarbeitet. [ ![]() Die funktionierenden directmysql Dateien für Delphi 2009 und 2010 bietet er hier zum Download an: ![]() Ich habe es bereits getestet und es funktioniert einwandfrei! |
Re: umysqlvio typumwandlung
Hallo zusammen,
Zitat:
Für "normale" Felder scheint die angepasste Version zu funktionieren aber bei exotischeren Feldtypen scheint es Probleme mit den Feldlängen zu geben, was ziemlich heftige Fehler verursachen kann. Ich habe schon mal drüberdebuggt und bin auf falsche Feldlängen in read_rows gestoßen. Das Ganze im Zusammenhang mit Datensätzen, die ein Feld vom Typ Mediumtext enthalten haben. Workarround ist eine Abfrage auf genau dieses Feld zu machen anstatt auf * oder mehrere Felder. Zumindest hat das bisher funktioniert. Selektiert man zusätzlich Felder, die nach dem betreffenden Feld im Datensatz stehen, werden diese teilweise an das Mediumtext-Feld angehängt. Merkt man das nicht, dann zerballert man sich die DB mit fehlerhaften Feldinhalten. Nicht weiter tragisch, aber in halbwegs ernsthaften Anwendungen nicht verwendbar. Schöne Sch... :( Muss ich wohl sämtliche DB-Projekte auf mysql.pas mit libmySQL.dll umschreiben. :cheers: Wollte nur mal schnell 'ne Warnung rausgeben. Vielleicht erreiche ich den Autor/Umschreiber und er kann den Fehler beheben. Mir ist der Code an der Stelle etwas zu kryptisch. :mrgreen: Viele Grüße, Schorsch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz