Autor |
Beitrag |
p!nhead
      
Beiträge: 35
|
Verfasst: Mi 17.08.05 10:24
hallöchen
folgendes:
ich habe hier eine relativ grosses datenbankprogramm, das von paradox auf ms sql server geaendert werden soll. die tabellen und felder auf dem sql server habe ich alle vom namen her gleich gelassen, damit ich den wenigst moeglichen aufwand damit habe.
mein problem ist, ich weiss nicht wie ich mit den standard "BDE" komponenten eine connection auf den sql server hinbekomme.
da ich dies nicht weiss, hab ich einfach mal versucht die ganzen tables zu loeschen und stattdessen ADOTables (bei denen ich ja problemlos die connection zum sql server eingeben kann) zu nehmen. nun stellte sich aber heraus das ADOTables leider nicht solche befehle wie "Findkey" oder "FindNearest" haben, welche in dem programm aeusserst haeufig verwendet werden.
hat jemand vielleicht eine möglichst simple lösung für mich? 
|
|
Matthias-K
      
Beiträge: 271
Win95, Win98, Win2000, WinXP, Linux
D2, D4 Client/Server, D5 Enterprise, D6 Enterprise, D7 Enterprise, Delphi2005, C/C++ 3.0, C/C ++ 5.0, C/C++ 6.0
|
Verfasst: Mi 17.08.05 11:25
die umstellung auf eine völlig andere db bringt im allgemeinen IMMER sehr viel arbeit mit sich!
und mit standart bde kompos auf ne mssql db zuzugreifen, is imho auch net wirklich möglich!
bei dir die komponenten ein, die darauf zugreifen können und pass dein programm an! da wirst du nicht drum herum kommen!
matthias
_________________ Ein Spezialist ist ein Mensch, der immer mehr von immer weniger weis, bis er alles von nichts weis!
|
|
p!nhead 
      
Beiträge: 35
|
Verfasst: Mi 17.08.05 12:34
hm.. bist du dir sicher das es nicht anders geht?
ich dachte daran der betreffenden datenbank auf dem sql server einen alias zu verpassen, den ich dann den bdekomponenten als DataBaseName verwende... allerdings weiss ich noch nicht wie ich der db auf dem sql server den alias verpasse :/
|
|
JRegier
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Do 18.08.05 11:01
Matthias-K hat folgendes geschrieben: | die umstellung auf eine völlig andere db bringt im allgemeinen IMMER sehr viel arbeit mit sich!
|
Nicht wenn man Zeos Componenten nimmt! Im allgemeinen muß man da bei der ZConnection ein anderes Protocol einstellen
und schon funzt es denk ich mal!
Ich habe eine Function geschrieben die mir je nach Protocol
die öffnen und schließen Zeichen zurückgibt!
Also z.B. bei MySQL SELECT * FROM `TABELLE` WHERE `XY ID` = 12
und bei Oracle SELECT * FROM [TABELLE] WHERE [XY ID] = 12
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| function GetExtraCharacters(AProtocol : String; AOpen : Boolean) : String; begin if(Pos('mysql', AProtocol) > 0)then begin Result := '`'; end else if(Pos('oracle', AProtocol) > 0)then begin if(AOpen)then Result := '[' else Result := ']'; end; end; |
ich weiß nicht wie diese Zeichen bei anderen DB's sind kann vieleicht einer die Liste ergänzen?
|
|
Dille
Hält's aus hier
Beiträge: 15
|
Verfasst: Do 18.08.05 14:06
Titel: paradox zu SQL Server
hi folks,
ich habe ein ähnliches problem.
vor einiger zeit schrieb ich ein nummernsystem progy, welches meine daten organisiert. läuft immer noch prächtig. es hat eine DB mit 4 PARADOX tabellen die ich bequem über die BDE laufen lasse. mit der zeit sind die tabellen ganz schön fett geworden.
letzte woche dachte ich mir, ich könnte diese DB doch von dem selben programm mehrmals, von unterschiedlichen rechnern, anprechen. na klar, funktioniert nicht, weil immer nur ein kanal für die BDE offen ist, aber aus bequemlichkeit habe ich's trotzdem versucht.
nun war mir klar, eine server/client geschichte muss her. da ich schon SQL server auf meinem zukünftigen server installiert hatte, habe ich mir gleich ne test tabelle gebastelt und eine ADO verbindung direct über die ODBC geschaffen. prima dachte ich mir, funktioniert ... und dazu noch viel besser, weil ich alle SQL anweisungen von SQL server erledigen lassen kann.
ok, jetzt nur noch meine vorhandenen tabellen einpflegen ... warte ma, diese funktion gibts aber leider nicht. heißt das jetzt, dass ich alle tabellen im SQL server neu erstellen und all meine daten per hand eingeben muss oder gibt's da eine gepflegte lösung?
wäre über jeden rat dankbar!
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Do 18.08.05 14:16
Ich kenn mich jetzt mit Paradox nicht aus, aber die Datenbanken, die ich so kenne, haben alle nen irgendwie gearteten Export, der dir Struktur und Daten hübsch in SQL-Statements ausgibt, welche ja dann auf der Zeildatenbank einfach ausgeführt werden können.
Vorraussetzung ist natürlich, dass die Datentypen kompatible sind und z.B. Leere Strings gleich interpretiert werden. Hatte das Problem mit MYSQL->Oralce. Für MySQL ist '' <> NULL, für Oracle nicht. Bei nem not NULL-Feld kann das beim Import Probleme geben.
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
JRegier
      
Beiträge: 1268
Win XP Home, Prof, 2003 Server
D6 Enterprise
|
Verfasst: Do 18.08.05 14:31
Titel: Re: paradox zu SQL Server
Dille hat folgendes geschrieben: | hi folks,
ok, jetzt nur noch meine vorhandenen tabellen einpflegen ... warte ma, diese funktion gibts aber leider nicht. heißt das jetzt, dass ich alle tabellen im SQL server neu erstellen und all meine daten per hand eingeben muss oder gibt's da eine gepflegte lösung?
wäre über jeden rat dankbar! |
Unter Programme\Gemeinsame Dateien\Borland Shared\BDE findest du DataPump mit dem Programm kannst du sowohl die Tabellen als auch
die Daten umtransformieren!
|
|
p!nhead 
      
Beiträge: 35
|
Verfasst: Do 18.08.05 14:42
tjo... ich hab mich nun doch drangesetzt und werde jede table löschen und durch ein adodataset ersetzen... das alleine is ja nich schlimm, allerdings gibts da einige ttable befehle, die tadodataset leider nicht kennt.. das bedeutet ich muss sehr viele sachen neue schreiben.. wird einige tage in anspruch nehmen :/
falls doch noch jemandem eine einfachere lösung einfaellt, immer her damit 
|
|
Dille
Hält's aus hier
Beiträge: 15
|
Verfasst: Mo 22.08.05 09:23
Titel: Re: paradox zu SQL Server
JRegier hat folgendes geschrieben: | Dille hat folgendes geschrieben: | hi folks,
ok, jetzt nur noch meine vorhandenen tabellen einpflegen ... warte ma, diese funktion gibts aber leider nicht. heißt das jetzt, dass ich alle tabellen im SQL server neu erstellen und all meine daten per hand eingeben muss oder gibt's da eine gepflegte lösung?
wäre über jeden rat dankbar! |
Unter Programme\Gemeinsame Dateien\Borland Shared\BDE findest du DataPump mit dem Programm kannst du sowohl die Tabellen als auch
die Daten umtransformieren! |
cheers fuer den tipp, leider kann ich keine dateien in SQL Server einplegen. Ich hab' ein kleines Proggy geschrieben, welches mir meine Daten von PARADOX direkt ueber die ODBC auf den SQL Server transferiert.
danke nochmal!
|
|
|