Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dateiformat für MS SQL BULK INSERT

Mitglied: JKoenig

JKoenig (Level 1) - Jetzt verbinden

02.12.2011, aktualisiert 17:48 Uhr, 4546 Aufrufe, 5 Kommentare

Hallo und schönen guten Abend

Ich entwickle gerade eine Anwendung die Dateien in unterschiedlichen Formaten auf ein einheitliches Format bringen soll. Die Dateien in diesem Format sollen anschließend über ein SQL BULK INSERT in eine MS SQL Datenbank importiert werden.

Da die Dateien die ich bekomme Daten unterschiedlicher Tabellen enthalten sieht meine Ausgabe im Moment ungefär so aus:

#tb_Tabelle1
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

#tb_Tabelle2
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

#tb_Tabelle3
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

Ist ein Import über BULK INSERT in diesem Format möglich oder müsste ich für jede Tabelle eine eigene Datei erstellen?

In Hoffnung auf eine baldige Antwort wünsche ich noch einen schönen Abend

JKoenig
Mitglied: Biber
02.12.2011 um 18:36 Uhr
Moin JKoenig,

bekommst du nun Dateien (Flatfiles) oder bekommst du Tabellen aus einem Schema, einer anderen MSSQL-Instanz oder gar von einem anderem DBMS?

Und wo unterscheiden sich denn jetzt die "Formate", wie du es nennst?
Unterschiedliche Feldnamen, Feldtypen, Feldlängen, Constraints oder was?

Kannst du mal bitte ein sinnvolles typisches Beispiel für die Inhalte posten?

und was hat das alles mit BULK INSERT zu tun? Hast du keinen PK?

Grüße mit ganz vielen Fragezeichen
Biber
Bitte warten ..
Mitglied: JKoenig
03.12.2011 um 08:52 Uhr
Hallo Biber,

ich habe die ganze Situation vielleicht etwas ungünstig beschrieben

die Dateien die ich bekomme werden von mir schon umgewandelt, und meine Ausgabe welche (über BULK INSERT) in die Datenbank importiert werden soll

sieht so aus:

#tb_Tabelle1
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

#tb_Tabelle2
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

#tb_Tabelle3
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7
Feld1;Feld2;Feld3;Feld4;Feld5;Feld6;Feld7

Nun möchte ich wissen ob es möglich ist Texte in dieser Form (#<tabellenname> ... <feld>;<feld> ...) über BULK INSERT zu importieren oder ob ich für jede Tabelle eine eigene Datei anlegen muss die dann nur die Felder beinhaltet.

Grüße und hoffentlich ein paar Fragen beantwortend
JKoenig
Bitte warten ..
Mitglied: 60730
03.12.2011 um 11:43 Uhr
moin,

[OT]

also ich weiß ja nicht - aber die Frage - ob ich für jede Tabelle eine eigene Datei anlegen muss hat sich mir im täglichen Leben eher selten gestellt.
Vielmehr muß ich des öfteren Tabellen in Happen zerlegen, damit die am Stück auch wirklich sauber eingelesen werden.
Ich hab aber auch keine so kleinen 7 Spalten mal 5 Datensätze
Und dann hab ich bei der Variante eine Datei- eine Tabelle auch einen Überblick - wo es hängt
Ob wo und welche - man sieht ja keinen SQL Befehl - Tabelle mucken macht und ob oder ob nicht da vorher ein Drop läuft oder laufen muss....

Alleine die "Programmierung" - wenn dies dann Tabelle jenes - ne echt nicht..
(ja ich weiß, das es gehen könnte - aber will ich unbedingt mit Schlittschuhen auf den Mount Everest?)

[/OT]
Ist das eine rhetorische Frage oder dein geplanter Workflow?


Gruß
Bitte warten ..
Mitglied: Biber
03.12.2011 um 11:48 Uhr
Moin JKoenig,

ich bin immer noch nicht ganz sicher, ob ich dein Szenario richtig verstehe.

Wenn es denn so ist, wie es bei mir angekommen ist, nämlich

  • Es liegen Dateien (=Flatfiles in einem Filesystem) vor
  • mit gleichem Aufbau und gleichen Feldformaten
  • und -aus Datenbanksicht- unterschiedlichen Schlüsselfeldern/PrimaryKeys

-> dann kannst du zwar NICHT mit einem "BULK INSERT"-Kommando alle Quellen mit einem Tastendruck importieren,
ABER mit einer einer kleinen Stored procedure und/oder dem bcp-Utility geht das.

Das Prinzip ist in diesem Databasejournal-Artikel sehr schön skizziert.

Grüße
Biber
Bitte warten ..
Mitglied: JKoenig
03.12.2011 um 12:17 Uhr
@TimoBeil

War der vorgegebene Workflow den ich gehen soll

@Biber

Die Situation hast du richtig verstanden.
Und vielen Dank für den Artikel, damit werde ich mich dann jetzt außeinandersetzen
Bitte warten ..
Ähnliche Inhalte
Windows Server

MS SQL 2008 - Insert mit Duplikat-Kontrolle

Frage von TlBERlUSWindows Server4 Kommentare

Hallo Zusammen, ich muss von einer Sicht/View in eine Tabelle innerhalb einer anderen Datenbank eintragen. Mein Problem ist, dass ...

Datenbanken

BULK INSERT mit Auslassen von Feldern, bzw. ergänzen von Feldern

Frage von TiCarDatenbanken1 Kommentar

Hi, ich würde gerne eine CSV Datei in eine Tabelle laden und die Tabelle hat aber noch zusätzliche Felder ...

Datenbanken

XML insert-update in einer MS SQL DB

gelöst Frage von teslajrDatenbanken8 Kommentare

Hallo Leute Mein Code zum importieren einer xml in die MS SQL 2008 DB funktioniert, jedoch möchte ich dass ...

Datenbanken

SQL Server Stored Procedure - execute as - Sysadmin für xp-cmdshell und Bulk Insert

Frage von ooAlbertDatenbanken

Hi, ich habe mir eine Stored Procedure auf einem SQL Server 2008 R2 geschrieben, die einen Aufruf für xp_cmdshell ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 8 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 17 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit17 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Windows Installation
Kleines Büro - wie PCs einrichten? Domaincontroller sinnvoll?
Frage von Jonas42Windows Installation12 Kommentare

Hallo zusammen, ich überlege derzeit mal wieder, ob ich unsere IT ändern sollte. Es handelt sich um ein Ingenieurbüro ...