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

Frage Entwicklung Datenbanken

GELÖST

Dateiformat für MS SQL BULK INSERT

Mitglied: JKoenig

JKoenig (Level 1) - Jetzt verbinden

02.12.2011, aktualisiert 17:48 Uhr, 4531 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 ...

Windows Server
Neuer MS-SQL-Server
gelöst Frage von tingelWindows Server1 Kommentar

Hallo, Ich bin gerade dabei, mir Gedanken zu machen, wie ich am besten unseren SQL-Server 2008 SP3 auf eine ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...