[UPDATED]Script um CSV-Datei in MS SQL Server 2000 zu importieren

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/updatedscript_um_csv-datei_in_ms_sql_server_2000_z_119168/page_1 - zur Vollversion wechseln!


semmerl schrieb am 11.07.2004 um 14:15

Hallo

Suche ein Script (Sprache ziemlich egal, einzig schnell sollte es sein) mit dem ich ein Textfile einlesen kann (hat bestimmte Struktur) und es in eine DB speichern kann. DB sollte wenn möglich MySQL oder Postgres sein. Kennt irgendwer für dieses Problem Tutorials oder dergleichen oder kann mir sonst irgendwer mit meinem Problem weiterhelfen z.B. Welche Scriptsprache ich am besten verwenden sollte...


Mfg


vEspertine schrieb am 11.07.2004 um 14:20

phpmyadmin kann csv files importieren


semmerl schrieb am 11.07.2004 um 14:27

Das weiß ich, aba ich muss das ganze automatisieren und alle paar Stunden über einen Cron aktualisieren. Sprich ich lies die Datenbank dann aus, und bereite es als Statistische Auswertung auf.... Und dabei bringt mir PHPAdmin nicht wirklich was, da ich das ja nicht automatisiert machen kann..


Tex schrieb am 11.07.2004 um 14:32

geht mit php recht einfach. text file (zeilenweise) einlesen und mit diversen string funktionen (siehe php.net) richtig zerlegen und dann in die datenbank speichern.


AoD schrieb am 11.07.2004 um 14:45

Bei MySQL gibts da einen eigenen Befehl dafür: http://dev.mysql.com/doc/mysql/en/LOAD_DATA.html

Brauchst nur a batchdatei erstellen wo du den mysqlclient startest mit parameter und ihm eine datei mit mysql befehlen übergibst.
dort steht dann auch der LOAD DATA Befehl drinnen.


semmerl schrieb am 11.07.2004 um 17:14

Zitat von Tex
geht mit php recht einfach. text file (zeilenweise) einlesen und mit diversen string funktionen (siehe php.net) richtig zerlegen und dann in die datenbank speichern.
Bin PHP nicht wirklich bewandert ...

Hast da vielleicht irgendwo ein Tutorial, wie ich das machen muss??

Danke


tomstig schrieb am 11.07.2004 um 17:20

gib bitte ein bsp für "strukturierte txt-datei"...

ansonsten schaust du am besten hier:
http://at.php.net/manual/de/ref.filesystem.php


semmerl schrieb am 11.07.2004 um 17:22

Mit strukturiert mein ich, die Textdatei hat bestimmte Trennzeichen, sprich man kann schön auf die einzelnen Daten zugreifen und sie aufsplitten, damit man die Datenbank befüllen kann.

WIe sie genau ausschaut kann ich euch morgen sagen, ist ein Firmenprojekt und hab derzeit das File noch nicht im speziellen gesehen..


semmerl schrieb am 12.07.2004 um 10:21

Habe nun die Vorgabe, dass ich das ganze nicht mit einer MySQL DB sondern mit einer MS SQL 2000 DB machen muss (Blöde Firmenpolitik)

Gibts beim SQL Server einen ähnlichen Befehl wie LOAD DATA INFILE wie bei MySQL oder wie könnte ich sonst eine automatisierte Einspielung einer CSV Datei in eine SQL Tabelle schaffen?
Jeder Tipp wäre hilfreich...

DANKE!


Master99 schrieb am 12.07.2004 um 13:52

mit C# geht das ganz einfach...

ich hab das sogar AFAIK letzes jahr mal programmiert... muss mal nachschaun ob ich den code noch finde.


semmerl schrieb am 12.07.2004 um 17:13

Zitat von Master99
mit C# geht das ganz einfach...

ich hab das sogar AFAIK letzes jahr mal programmiert... muss mal nachschaun ob ich den code noch finde.


Wäre interessant, wenn du mir dieses Script eventuell zur Verfügung stellen könntest.

Was haltet ihr davon wenn ich das ganze mittels BCP oder DTSPaket mache? Ist das von der Geschwindigkeit her schnell (hab teilweise CSV Dateien mit 100.000 Datensätzen...)


that schrieb am 12.07.2004 um 21:24

Zitat von semmerl
Was haltet ihr davon wenn ich das ganze mittels BCP oder DTSPaket mache?

Das ist sicher die beste und einfachste Lösung, vermutlich auch die schnellste.


voyager schrieb am 12.07.2004 um 21:31

BCP is sicher die schnellste Lösung, lässt sich auch recht leicht automatisieren, nur wenn du nen fehler im file hast kannst die DB damit crashen, da die Sicherheitsmechanismen vom MSSQL beim bcp abgedreht sind


Ringding schrieb am 13.07.2004 um 00:15

Zitat von voyager
[...], nur wenn du nen fehler im file hast kannst die DB damit crashen, da die Sicherheitsmechanismen vom MSSQL beim bcp abgedreht sind
Really?


voyager schrieb am 15.07.2004 um 14:41

Zitat von Ringding
Really?

yes sir

bulk copy ist nur deswegen so schnell (bis zu mehreren 10000 datensätze / sec) weil die daten "raw" ohne überprüfung auf konsistenz in die db kopiert werden




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025