[C#] Bulkcopy auf SQL-Server

tessay

Grünschnabel
Hallo,

ich brauche eine Möglichkeit, riesige Datenmengen aus einem File auf den SQL-Server zu kriegen. Hab eigentlich schon alles ausprobiert, und verzweifle jetzt:

- ADO.NET-Variante mit DataSets usw.
--> ich brauche fuer 1 File mit 850 000 Zeilen ca. 17h (!!!), somit nicht wirklich empfehlenswert (super bei einer tollen neuen Programmierweise!)

- normales Insert mit mehreren Aufrufen
--> 28 Minuten, auch zu viel

- Insert, jede Zeile einzeln
--> 13 Minuten, aber immernoch zu viel

Dagegen stehen 2:11 mins in altem VB 6.0 mit Bulkcopy...

Jetzt bin ich auf Bulkcopy umgestiegen. Und das veraeppelt mich wirklich, je nach PC bekomme ich verschiedene Fehlermeldungen, einmal "Datei- oder Assemblyname 'Interop.SQLDMO' oder eine Abhängigkeit davon wurde nicht gefunden", die COM-Bib is aber eingefuegt, er schreibt auch die Interop.dll ueberall hin. Auf dem anderen PC macht er weiter und meint, er koenne die Hostdatendatei nicht öffnen???

HILFE, kann mir jemand helfen, hat jemand Erfahren, richtigen Code, keine Ahnung

Gruss
Dany
 
Hallo Valentin,

nein, Bulkcopy benoetigt (soweit ich weiss, immer) ein Komma- bzw. Strichpunktseparierte Datei.
Inzwischen bin ich soweit, dass der Bulkcopy funktioniert (man hoere und staune in 2 Minuten!). Allerdings laeuft dieses Programm auf jedem PC, nur nicht auf meinem !!! Weder auf dem Desktop PC noch auf meinem Laptop. Fehlermeldung immernoch die o.g. mit der Interop.SQLDMO. Ich hab schon alle moeglichen Fehlerquellen durch, und bin jetzt wirklich superratlos, da ich ja in dem Programm weiterarbeiten muss, nur wenn ich das nicht kompilieren und ausprobieren kann, irgendwie ja sinnlos!

LG,

Dany
 
oje, das wird eine lange Liste:

- VB 6.0
- VB.net
- SQL Server
- MSDE
- Crystal Reports
- ...

waer jetzt das, das wohl unmittelbar mit der sqldmo.dll zu tun hat. und win xp
 
... wäre trotzdem noch nett, wenn Du uns die Lösung verraten könntest, falls mal jemand ein ähnliches Problem haben sollte.

Danke. :)
 
ok, ausnahmsweise :D

Ich habe das Programm in einer MS-DOS-Eingabeaufforderung gestartet, und dummerweise nicht die .exe im Ordner /bin/debug ausgeführt, sondern die in /obj/debug... daher: dumm ist der Mensch :) Wer konnte auch ahnen, dass der zwei Mal eine .exe erstellt...

Gruesse
Dany
 
;)

Dafuer freut sich jetzt dann mein Mitarbeiter, wenn er fuer den Import plus ein paar Berechnungen nur noch 4 statt 12 Minuten braucht... und der das ganze ein paar Mal öfter machen muss *g*

LG
Dany
 
Zurück