/ / Wstawianie danych XML do SQL Server - sql, sql-server, tsql, bulkinsert, bcp

Zbiorcze wstawianie danych XML do SQL Server - sql, sql-server, tsql, bulkinsert, bcp

Używając poniższej struktury tabeli, utworzyłbym masową wstawkę bcp, która obsługiwałaby dane XML. Ważne jest, aby był uruchamiany z wiersza poleceń.

CREATE TABLE [dbo].[MyTable](
[Id] [uniqueidentifier] NOT NULL DEFAULT (newid()),
[MyXmlField] [xml] NULL

Z góry dziękuję...

Odpowiedzi:

2 dla odpowiedzi № 1

Podstawowa składnia korzystania z bcp to:

bcp <table_name> <direction> <file_name> <options>

Gdzie argumenty przyjmują następujące wartości:

  • Nazwa tabeli jest w pełni kwalifikowany nazwa tabeli. Na przykład ty może używać inventory.dbo.fruits do wstaw rekordy do stołu z owocami, posiadane przez właściciela bazy danych w baza danych zapasów.
  • kierunek wskazuje, czy chcesz importować (kierunek "w") lub eksportować (Kierunek "na zewnątrz").
  • Nazwa pliku jest pełną ścieżką do plik. Na przykład możesz zaimportować plik C: fruitinventory.txt.
  • opcje pozwala ci określić parametry dla luzemoperacja. Na przykład możesz określić maksymalna liczba błędów dozwolona z opcja -m. Możesz także użyć -X opcja określenia pliku XML format. Skonsultuj się z bcp Microsoftu dokumentacja dla pełnej listy.

Będzie potrzebował więcej informacji, aby wiedzieć, jakich przełączników użyć, ale powinno to wyglądać jak

bcp database.dbo.MyTable in "C:folderxmlfile.xml" -c -T

-do Wykonuje operację, używając typu danych znakowych.
-T Określa, że ​​narzędzie bcp łączy się z programem SQL Server z zaufanym połączeniem przy użyciu zintegrowanych zabezpieczeń.

Tutaj też jest Microsoft bcp Utility który powinien pomóc ci w zrozumieniu, jakich przełączników użyć.


0 dla odpowiedzi nr 2

użyj -N switch, jeśli twój plik zawiera znaki Unicode.

-N: Wykonuje operację kopiowania zbiorczego przy użyciu rodzimych (baz danych) typów danych danych dla danych innych niż znak oraz znaków Unicode dla danych znakowych. Ta opcja oferuje wyższą wydajność alternatywę dla opcji -w i jest przeznaczona do przesyłania danych z jednego wystąpienia programu SQL Server do innego przy użyciu pliku danych. Nie monituje o każde pole. Opcji tej należy używać w przypadku przesyłania danych zawierających znaki rozszerzone ANSI i chcesz skorzystać z wydajności trybu macierzystego.