Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten aus AccessDB in Ms SQL Express importieren (https://www.delphipraxis.net/128183-daten-aus-accessdb-ms-sql-express-importieren.html)

Privateer3000 25. Jan 2009 21:22

Datenbank: mdb • Zugriff über: ado

Daten aus AccessDB in Ms SQL Express importieren
 
Hiho,

ich möchte meine Anwendung von Access auf SQL Express umstellen.
Wie kann ich die Tabellen und Daten aus der AccessDB exportieren?

Desweiteren für später: welche Dateien müssen weitergegeben werden,
um die Anwendung auf anderen Rechner laufen zu lassen?

Grüße

nahpets 26. Jan 2009 09:38

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Hallo,

nur mal so hingedaddelt:
Delphi-Quellcode:
Var
      i : Integer;
begin
  tbAccess.Open; // TAdoTable mit 'nem passenden Connectionstring
  tbMSSQL.Open; // TAdoTable mit 'nem passenden Connectionstring
  while not tbAccess EoF do begin
    tbMSSQL.Append;
    for i := 0 to tbAccess.Fields.Count - 1 do tbMSSQL Fields[i].AsString := tbAccess.Fields[i].AsString;
    tbMSSQL.Post;
    tbAccess.Next;
  end;
  tbAccess.Close;
  tbMSSQL.Close;
end;
In der Art sollte das Kopieren gehen, sofern Quelle und Ziel über die gleiche Tabellenstruktur verfügen.

omata 26. Jan 2009 10:11

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Oder, wenn die Datenstruktur auch exportiert werden soll...

Access öffnen und auf der zu exportierenden Tabelle/Abfrage rechte Maustaste drücken und exportieren wählen. Vorher muss aber ein DSN-Zugang angelegt werden (Systemsteuerung->Verwaltung->ODBC->DSN), der genügend Rechte auf der Datenbank besitzt. Über diesen Weg, kann auch die Tabelle nach MSSQL geschrieben werden und dort können dann über ein...
SQL-Code:
INSERT INTO mssql_tabelle
SELECT *
FROM access_tabelle
...die Daten umgeschaufelt werden.

Jürgen Thomas 26. Jan 2009 10:30

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Such einmal nach "Bulk Copy" oder "Bulk Insert", das sollte von Access nach MS-SQL auch direkt über den SQL Management Server o.ä. gehen. Jürgen

PS. Ich arbeite selbst nicht mit diesen DBs, habe aber häufiger diese Stichworte gelesen.

Privateer3000 27. Jan 2009 06:32

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Vielen Dank Leute,

Zitat:

Zitat von omata
Oder, wenn die Datenstruktur auch exportiert werden soll...

Access öffnen und auf der zu exportierenden Tabelle/Abfrage rechte Maustaste drücken und exportieren wählen. Vorher muss aber ein DSN-Zugang angelegt werden (Systemsteuerung->Verwaltung->ODBC->DSN), der genügend Rechte auf der Datenbank besitzt. Über diesen Weg, kann auch die Tabelle nach MSSQL geschrieben werden und dort können dann über ein...
SQL-Code:
INSERT INTO mssql_tabelle
SELECT *
FROM access_tabelle
...die Daten umgeschaufelt werden.

Ja ich benötige Struktur UND Daten, da diese doch langsam beträchtlichen Umfang haben.
Was muss zum exportieren dann angewählt werden und kommt man nicht irgendwie
um das "umschaufeln" herum?

Grüße

mkinzler 27. Jan 2009 06:43

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Da dir MSSQL als DDMS einiges mehr bietet als Access würde ich die Chance nutzen die Struktur zu analysieren und anzupassen. Viel erhoffen sich duch eine 1:1 Übernahme in ein moderneres System alle Vorteile dessen automatisch zu nutzen; in der Praxis ist das oft nicht so oder verkehrt sich ins Umgekehrte.

Privateer3000 27. Jan 2009 06:58

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Danke, ich habe diese Analyse schon ins Auge gefasst
und mir das Buch von Andreas Kosch bestellt.
Allerdings ist es noch nicht eingetrudelt....

Da fällt mir noch was ein, muss dann später die komplette
SQL-Express Software mit gegeben und auch die
doch aufwändige Installation des Server durchgeführt werden?

Privateer3000 27. Jan 2009 14:47

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Zusätzlich gefragt,
geht das aus Access ein SQL-Dump zu exportieren?
Evtl. mit einem Tool?
Eine Möglichkeit innerhalb Access hab ich nicht gefunden...

omata 27. Jan 2009 15:34

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Nein, aber du kannst die Daten doch direkt in den MSSQL-Server schreiben und von dort dann in andere Tabellen füllen (das, was ich oben schon geschrieben hatte).

Ein anderer Weg ist auch hier beschrieben. Das wird dort zwar zwischen zwei 2 SQL-Servern durchgeführt, geht aber auch mit MSSQL + Access. Es ist also möglich, einen Zugriff auf die Access-Datenbank-Datei im MSSQL-Server einzurichten. Dann sind die Tabellen direkt im MSSQL-Server verfügbar und die Daten können so direkt umkopiert werden.

Privateer3000 27. Jan 2009 16:36

Re: Daten aus AccessDB in Ms SQL Express importieren
 
Gut, dann mach ich mich mal ran...

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 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