AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

Ein Thema von bluesbear · begonnen am 14. Mai 2008 · letzter Beitrag vom 15. Mai 2008
Antwort Antwort
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#1

Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 14. Mai 2008, 22:36
Datenbank: MSSQL • Version: 2005 • Zugriff über: Das ist das Problem: BDE und ODBC
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.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 01:12
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 07:18
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 09:33
Das hatte ich befürchtet.
Immerhin - "geht so nicht" (mit vernünftigem Aufwand) ist schon mal eine Aussage.

Also die Widestrings müssen weg.

Kann man in einer View einen Typecast machen, Widestring auf Varchar?
Ich habe da in meinen Büchern nichts zu gefunden...
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 10:07
Zitat von bluesbear:
Also die Widestrings müssen weg.
Oder Delphi 3

Zitat von bluesbear:
Kann man in einer View einen Typecast machen, Widestring auf Varchar?
Der Cast-Befehl könnte u.U. sowas machen. Bedenke aber das du u.U. hier auch viel Arbeit hast da u.U. keinerlei DB-Indizes mehr verwendet werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 10:18
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.
Gruß
Norman
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 10:22
Zitat von bluesbear:
Ich habe ein Problem.
Gegenwärtig muss ich ich immer noch ein Delphi3 Programm fortentwickeln.
Ich fände es an der Zeit, dass man dem Kunden eine komplett neue Software verkauft.
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.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Zugriff mit Delphi3 über ODBC auf MSSQL und Widestrings

  Alt 15. Mai 2008, 11:11
Vielen Dank, der CAST() Befehl war der entscheidende Hinweis
Ich bin halt bei SQL noch Anfänger
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!
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
Das ganze Projekt wird derzeit mit Delphi2007 und Firebird neu konzipiert, aber das dauert, und der Kunde droht *jetzt mit Auftrag.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 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