Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Tabelle von MS Access nach MS SQL Server kopieren

  Alt 29. Mär 2004, 15:52
Zitat von Solid01:
folgendes Problem: Ich möchte eine Tabelle aus einer Access-Datenbank in eine SQL Server-Datenbank kopieren.

Ich habe schon zwei Wege versucht.

1. Eine CREAT TABLE - SQLAnweisung basteln und diese ausführen. Das scheitert nur leider daran, dass die Informationen, wie z. B. den dDtentyp eines Feldes, in die Anweisung zu bekommen. Denn ich kenne keine Methode, die einem den Datentyp eines Feldes als String zurückgibt.
Für die Zuordnung des Datentyps zur SQL Datentyp musst du dir eigene Funktionen
bauen:
Delphi-Quellcode:
function SQLDatatypeForSQL_Server(f:TField):string;
begin
   case f.Datatype of
      ftInteger : result := 'Int';
      ftString : Result := Format('varchar(%d)', [f.DataLength]);
      ...
   else
       Assert(False, 'Datatype not supported');
   end;

   if f.Required then
      result := Result + ' NOT NULL'
   else
      result := Result + ' NULL';
end;
function SQLDatatypeForAccess(f:TField):string;
....
Ein weiterer Weg wäre die Verwendung von ADOX (ADO Extentions).
Leider sind diese Schnittstellen nicht 100% implementiert, so dass man
manchmal wieder auf SQL ausweichen muss. (M$ hat wohl keine Bock mehr gehabt)

Das Hinzufügen von FieldDefs kannst du vergessen, da dies eigentlich
nie richtig funktioniert.
Andreas
  Mit Zitat antworten Zitat