Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten von Access nach MSSQL kopieren (https://www.delphipraxis.net/169274-daten-von-access-nach-mssql-kopieren.html)

Brinkman 9. Jul 2012 06:37

Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO

Daten von Access nach MSSQL kopieren
 
Hallo zusammen,

es exisitiert eine kleine Anwendung mit Daten auf ACCESS bzw. MSSQL. Es gibt un Kunden, die nun auf MSSQL migrieren möchten.
Wie ist nun die einfachste Möglichkeit - von mir aus auch per batch - die Daten aus der ACCESS-DB in eine existierende , aber leere SQL-DB zu kopieren? Ich würde ungerne die Daten Feldweise von ACCESS nach SQL bewegen, da die Datenstruktur häufig erweitert wird und somit die Konvertierungsprozedur entsprechend nachgezogen werden müsste.

Beste Grüße und vielen Dank für kreative Ideen
BrinkMan

mkinzler 9. Jul 2012 06:38

AW: Daten von Access nach MSSQL kopieren
 
Was meinst du mit feldweise?

omata 9. Jul 2012 07:00

AW: Daten von Access nach MSSQL kopieren
 
Innerhalb von Access kann man in der Tabellenansicht jede Tabelle exportieren. Das Exportieren erfolgt über einen DSN-Eintrag in der ODBC-Administration und schon sind die Tabellen auf dem MSSQL-Server.

Edit: Ich habe jetzt nochmal genau nachgesehen (Access 2007):

Tabellenansicht, Rechte Maus auf die zu exportierende Tabelle, Exportieren, ODBC-Datenbank, OK, Computerdatenquellen, System-DSN auswählen (der muss genug Berechtigung auf dem MSSQL-Server haben)

Brinkman 9. Jul 2012 07:06

AW: Daten von Access nach MSSQL kopieren
 
@mkinzler:
War eventuell ein wenig missverständlich,
da sich die Datenstruktur häufig ändert, möchte ich bei der Migration nicht erst die Datenstruktur von Access in SQL nachbilden (ist sicherlich fehleranfällig) und dann per INSERT alle Datensätze übertragen sondern am liebsten die Tabellen komplett mit der Tabellenbeschreibung in einem Rutsch inkl. Abhängigkeiten übertragen. Oder gar die ganze Access-DB als würde ich den Import-Assi nutzen, nur halt eben von DELPHI aus.

@omata:
Das wäre der einfachste Weg, allerdings ist die Access-DB verschlüsselt und mit Passwort geschützt, der Kunde hat u.U. keine Access-Umgebung und soll das Passwort wenn möglich auch nicht bekommen und die administrative Kenntnis (das zeigt die Erfahrung) ist nicht unbedingt immer sehr hoch. Anleitungen in Bild und Text reichen teilweise für einfache Dinge nicht.

omata 9. Jul 2012 07:27

AW: Daten von Access nach MSSQL kopieren
 
Ok, das macht Sinn.

Was für eine Access-Datei (Version) liegt denn vor?
Und soll die Tabellenstruktur auf dem SQL-Server auch wieder passwort-geschützt sein? Oder ist dort dann alles offen?

Bummi 9. Jul 2012 07:38

AW: Daten von Access nach MSSQL kopieren
 
Per SQL über AddLinkedServer(Login) und dann Select * into nn from ann

Brinkman 9. Jul 2012 08:04

AW: Daten von Access nach MSSQL kopieren
 
@omata: Nein, die Tabellen können da offen sein. Access-Datei ist in Version 2003

@Bummi: Per SQL hört sich an wie auf dem Management-Studio, oder? Ich würde dies lieber direkt vom DELPHI-Programm aus machen wollen...

omata 9. Jul 2012 08:34

AW: Daten von Access nach MSSQL kopieren
 
Die Idde von Bummi ist doch sehr gut.

Ich würde über dein Delphi-Programm einen Verbindungsserver innerhalb des SQL-Servers einrichten, der die Access-Datei einbindet. Da du deine SQL-Tabellenstruktur kennst, kannst du diese über dein Delphi-Programm auf dem SQL-Server erzeugen und dann die Tabelleninhalte in der richtigen Reihenfolge nacheinander durch INSERT INTO + SELECT-Anweisungen aus dem Verbindungsserver in den SQL-Server kopieren lassen. Zum Schluss wird dann der Verbindungsserver wieder gelöscht.
  1. sp_addlinkedserver 'AccessVerbindung', 'Access 97', 'Microsoft.Jet.OLEDB.4.0', 'c:\mydata\Access.mdb'
  2. SQL-Skript (CREATE TABLES)
  3. INSERT-Statements (INSERT INTO tabelle1 SELECT * FROM AccessVerbindung.tabelle1)
  4. sp_dropserver 'AccessVerbindung', NULL

generic 9. Jul 2012 08:52

AW: Daten von Access nach MSSQL kopieren
 
Kennt ihr den ssma for access?

http://www.microsoft.com/sqlserver/e...ol.aspx#Access

Ist ein Microsoft Programm für das Migrieren.

Blog mit zusätzlichen Informationen:
http://blogs.msdn.com/b/ssma/p/access.aspx

Brinkman 9. Jul 2012 09:44

AW: Daten von Access nach MSSQL kopieren
 
@omata: das ist genau das Problem, die Struktur ändert sich zu häufig als dass ich individuell pro Version eine Migration programmieren möchte. Daher sollte es besser ein Import kompletter Tabellen (Struktur und Daten) sein bei dem auch Abhängigkeiten erhalten bleiben. Das ständige Ändern der Datenstrukturen kann ich leider nicht verhindern.

@generic: ssma ist zwar gut, kann ich dem Kunsen aber nicht zumuten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 Uhr.
Seite 1 von 3  1 23      

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