Datenbank: MSSQL • Version: 2005 • Zugriff über: Das ist das Problem: BDE und ODBC
Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Ich habe ein Problem.
Gegenwärtig muss ich ich immer noch ein Delphi3 Programm fortentwickeln. Eine Kundenanfrage beinhaltet den Zugriff auf eine MSSQL Datenbank. Klappt soweit eigentlich - ich sehe die Tabelle im SQL Explorer (über ODBC), aber in dieser Datenbank sind auch Widestring-Felder. Die werden nicht angezeigt. Ziemlich grausam das Ganze, sogar für Datum- oder Uhrzeitfelder werden die benutzt. Also was der, der sich das ausgedacht hat, sich dabei gedacht hat, will ich lieber gar nicht wissen <denk>. Mit Delphi2007 ist das über ADO alles kein Problem, aber ich muss das mit Delphi3 machen können. Meine Frage nun: Kennt jemand irgendwelche Komponenten, die ich hernehmen könnte? Darf ruhig was kosten. Ich bin mit meinen Ideen am Ende. |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Gibt es in Delphi 3 die Klasse TWideStringField ? (suche in Unit DB)
Falls nicht, hast du sehr schlechte Karten. Falls ja, hast du trotzdem noch schlechte Karten. Es scheint mir unwahrscheinlich, dass ODBC-Treiber Widestrings durchreichen können. Nachtrag: mit Delphi 5 Prof + ADO Express kann man TWideString - Felder aus MSSQL lesen/schreiben (selbst getestet) Du musst also nicht unbedingt auf D2007, aber obige Konstellation scheint mir die Mindestanforderung zu sein. |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Könnte u.U. das dies wirklich nicht per ODBC erreichbar sind da MS AFAIK alle Erweiterungen seit der 6.5er-Version nicht mehr für ODBC bereitgestellt hat. Könnte aber auch sein das die BDE-Klassen einfach hier zu schlecht sind.
Du könntest im Notfall immer noch per Native ADO-Objekte (ohne Delphi-Wrapper) darauf zugreifen. Ich vermute aber das ein Umstieg auf eine neue Delphi-Version einfacher zu realisieren ist. |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Das hatte ich befürchtet.
Immerhin - "geht so nicht" (mit vernünftigem Aufwand) ist schon mal eine Aussage. Also die Widestrings müssen weg. :gruebel: Kann man in einer View einen Typecast machen, Widestring auf Varchar? Ich habe da in meinen Büchern nichts zu gefunden... |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Zitat:
Zitat:
|
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Hi,
ein cast oder convert der betroffenen Rückgabespalten auf varchar(255) könnte helfen. Solange diese Funktionen nicht im where- oder order-Teil auftauchen, sollte dies auch keinen negativen Einfluss auf die verwendeten Indizes haben. |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Zitat:
Ihr habt doch bestimmt einen guten Verkäufer, der das mit Argumenten belegen kann. Die Software ist doch bestimmt 10 Jahre alt und die Hardware auch schon angestaubt. So wie's sich anhört hat die Software auch kein gescheites Design. Dementsprechend ist bestimmt auch das UserInterface nicht mehr aktuell. Vermutlich käme es den Kunden billiger, wenn er sich was Neues machen lässt. In so alten Sourcen rumdoktern, wo schon 10 andere Programmierer ihren Müll eingebaut haben und sich damit rumärgern? Das hat doch keinen Wert. Ich sollte das bei meinem vorherigen Arbeitgeber auch mal machen. Es sollte auf Win98 laufen. Natürlich mit der alten Hardware. Und vor allem durfte die Geschwindigkeit nicht leiden. Als erstes hab ich ne Aufwandschätzung durchgeführt und das mit dem zuständigen Projektleiter besprochen. Der hat dann den Kunden überredet, gleich was Neues zu bestellen. Der Kunde hat es dann eigesehen und neue Hardware und neue Software bestellt. Nach Projektende hat er sich mit einer Kiste Schampus dafür bedankt, dass wir ihm die alte Lösung ausgeredet haben. |
Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Vielen Dank, der CAST() Befehl war der entscheidende Hinweis :thumb:
Ich bin halt bei SQL noch Anfänger :wink: Laut msdn geht das. Was ich vergessen hatte zu erwähnen: Ich muss nur lesend auf den Kram zugreifen, und Indizes gibt es da schon mal gar nicht. Alles ganz fürchterlich. "Delphi 3 muss weg" und "dem Kunden eine neue Software verkaufen" - Leute, ihr rennt da bei mir offene Türen ein! :-D Es gibt widrige Umstände, die das in diesem Fall nicht zulassen. Der größte davon ist der Zeitfaktor. Das mir das alles überhapt keinen Spaß macht, spielt leider keine Rolle :cry: Das ganze Projekt wird derzeit mit Delphi2007 und Firebird neu konzipiert, aber das dauert, und der Kunde droht *jetzt mit Auftrag. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz