Hallo Ich habe ein ziemlich komplexes Schema (. XSD) und eine XML-Dateien. Einige Knoten haben ungefähr 70 Attribute und einige 10-15. Ich habe xsd2code verwendet, um C# -Klassen zu erstellen und dann meine XML-Datei deserialisiert. Ich erstellte eine Datenbank basierend auf meiner .xsd-Klasse mit xsd2db-Anwendung. Also ich habe meine XML-Datei gelesen und muss sie in der Datenbank speichern. Ich habe 74 Klassen/Tabellen mit primären/fremden Schlüsselbeziehungen. Ich habe SqlBulkCopy untersucht - dafür sieht es so aus, als müsste ich alles in Datatables/Zeilen/Spalten umwandeln. Und ich muss die Hierarchie berücksichtigen, um Fremdschlüssel zu erfüllen. Gibt es einen anderen Weg, es zu tun? Was wäre der beste (schnellste) Ansatz? Danke JennyMüssen mehrere SQL-Server-Tabellen aus C# App laden
0
A
Antwort
0
Es gibt verschiedene Möglichkeiten, um eine XML-Datei entweder durch T-SQL, SSIS, VB Script, usw.
Leider nur Google und Post Links zu importieren, aber ich denke, SQL-Eichhörnchen gefunden die einfachste Methode, eine XML-Datei in SQL Server 2005 für immer ist T-SQL zu verwenden:
http://www.lockergnome.com/sqlsquirrel/2008/05/22/how-to-import-a-xml-file-into-sql-server-2005/
die SQLTeam scheinen zu denken, T-SQL ist auch die WTG: http://weblogs.sqlteam.com/mladenp/archive/2007/06/18/60235.aspx
Verwandte Themen
- 1. müssen Verzeichnisse aus Datei-Auflistung in C
- 2. Müssen doppelte Werte aus C# -Programm entfernen
- 3. Laden Sie mehrere Bilddaten aus s3 Amazon
- 4. objective-c Laden von Daten aus Excel
- 5. Müssen mehrere Dateien aus einer einzigen Excel-Datei machen
- 6. C# - Mehrere Desktop-Hintergrundbilder App - Logische Probleme
- 7. Facebook-App - Leise "Protokolle müssen übereinstimmen" Fehler
- 8. Müssen Produktdaten aus mysql Datenbank
- 9. Vb.net laden mehrere Zeilen aus einer Textdatei zu verschiedenen Listboxen
- 10. Laden Sie XML aus DB mit C#
- 11. Laden Skript aus dem Speicher in C
- 12. C++ DLL aus einem Unterverzeichnis laden?
- 13. C# müssen Daten aus XML erhalten Anmeldung zu überprüfen
- 14. Müssen ungültige E-Mails aus der Mailing-Liste in C#
- 15. C# - Mehrere Verzeichnisse in Einstellungen speichern und in Listbox laden
- 16. Mehrere Dateien in Dataframe laden
- 17. Mehrere App zusammen bereitstellen
- 18. Win32 C/C++ Bild aus dem Speicher laden
- 19. Mehrere Audiodateien vorab laden
- 20. Objective-C Speichern und Laden Image in App
- 21. C# Extrahiere mehrere Zahlen aus einem String
- 22. Aus einer Datei einlesen. Mehrere Trennzeichen? C++
- 23. Laden Sie mehrere Bilder aus dem Verzeichnis mit swift
- 24. Müssen mehrere Male eingeben, bevor Scanner einliest
- 25. müssen mehrere SIM und Netzwerk unterstützt Modem
- 26. Mehrere Projekte müssen 1 SNK-Datei verwenden
- 27. C# StreamReader.ReadLine() - Müssen Leitungsabschlüsse abholen
- 28. C++ Müssen diese schnelle Lösung
- 29. C# Laden von Binärdateien
- 30. Cordova 6 App kann nicht aus der Datei laden: // Pfad
Vielen Dank Jeremy. Ich habe versucht, SSIS. Zuerst dachte ich, es wäre der beste Weg, es zu tun. Wenn ich nicht anders kann, gehe ich mit SSIS. Aber es erforderte, dass meine db- und xml-Dateien auf demselben Server waren und fast alle Datentypen nicht übereinstimmten. Daher muss ich Datentypen für 15-70 Spalten in jeder der 74 Tabellen konvertieren. Ich fand – Boroda
Ich fand SQLXML Bulk Load - das scheint wie eine gute Lösung zu http://msdn.microsoft.com/en-us/library/ms171878.aspx mit der Ausnahme, dass ich nicht über Microsoft SQLXML Bulkload 4.0 Type Library (xblkld4 .dll) - und es muss separat installiert werden (SQLXML aktiviert XML-Unterstützung für SQL Server-Datenbank) und es ist keine Option für mich. – Boroda
@Boroda Hier ist ein Beitrag, um Ihnen zu helfen, SQLXML (xblkld4.dll) http://social.msdn.microsoft.com/Forums/en/sqlxml/thread/f974763f-b189-456d-8b9a-6100d46cae15 zu finden. SQLXML Bulkload sieht beim Importieren von XML-Dateien weit über den Anfang hinaus, besonders wenn es einmal aus ist: http://msdn.microsoft.com/en-us/library/ms171806.aspx. Ich persönlich würde lieber eine Kombination von FROM OPENROWSET (BULK '' + @xmlFileName + '' ', SINGLE_BLOB) als XMLDATA verwenden und die Daten mit SQL, LINQ-to-XML und SQLSMO (SQL-Mgt-Objekte) massieren. Ist das ein einmaliger Vorgang? und welche Version von SQL Server haben Sie? –