[GELÖST] Datenübertragung mit SQL über ADO oder DotNet?

22. November 2013 09:57

Hallo zusammen,

ich sollte mehrere Tabellen mit sehr grossen Datenmengen von einer NAV2009R2 Datenbank (SQL) in eine andere NAV2009R2 Datenbank (SQL) übertragen.
Die Datenbanken befinden sich auf demselben Server. Wenn ich dies mit "normalem" C/AL Code realisieren würde, dauerte eine Verarbeitung mehrere Stunden.
Dasselbe über SQL-Scripts dauert mehrere Minuten...

Nun möchte ich das Ganze natürlich nicht über einzelne SQL-Scripts sondern automatisch/dynamisch aus NAV heraus ausführen.
Das heisst, die vorgegebenen Tabellen sollten über einen Batch gelesen und alle Daten übertragen werden, ohne dass manuell etwas ausgeführt werden muss.

Bis jetzt hatte ich aber leider noch nicht die Gelegenheit aus NAV SQL Befehle abzusetzen. Diesbezüglich bin ich also (noch) ein "Greenhorn".
In verschiedenen Foren habe ich nun gesehen, dass dies z.B. über Automations wie Windows Script Host Object Model, ADO oder DotNet möglich ist.

Kann mir jemand die Vor- und Nachteile der verschiedenen Möglichkeiten aufzeigen?
Und was ist aus Sicht der Performance am Besten?

Vielen Dank!
Beno
Zuletzt geändert von beno am 26. November 2013 12:24, insgesamt 1-mal geändert.

Re: Datenübertragung mit SQL über ADO oder DotNet?

22. November 2013 13:48

Wieso muss das ganze denn überhaupt in NAV passieren?
Soll ein User diese Verarbeitung starten, oder ist
eine Interaktion nötig?
Willst Du die JobQueue verwenden?
Haben die Tabellen die gleiche Struktur?
Gruss

Re: Datenübertragung mit SQL über ADO oder DotNet?

22. November 2013 14:41

Hallo Martin,

ich schicke meine Antworten mit "->" markiert:

Wieso muss das ganze denn überhaupt in NAV passieren?
-> Da noch andere,kleinere Tabellen auch übertragen werden, aber auf konventionelle Art.

Soll ein User diese Verarbeitung starten, oder ist eine Interaktion nötig?
-> Nein, dies wird durch die IT-Abteilung gestartet.

Willst Du die JobQueue verwenden?
-> Nein, nicht nötig.

Haben die Tabellen die gleiche Struktur?
-> Ja, sie haben dieselbe Struktur.

Das Ganze würde ich einerseits auch für bevorstehende Migrationen sowie auch für allfällige Batch-Verarbeitungen benötigen.

Merci, Beno

Re: Datenübertragung mit SQL über ADO oder DotNet?

22. November 2013 15:03

Mach es mit den Integration-Services des SQL-Servers.
Falls Du Dich mit SSIS noch nicht auskennst, kein Problem.
Das ganze Paket kannst Du Dir mit einem Wizzard im Management-Studio zusammenstellen.
Wir haben diesen Mechanismus bei gewissen Update-Projekten mit grossen Datenmengen auch schon mehrfach so gemacht und das funktioniert tadellos.

Bei Interesse bitte PN.

gruss