SQL Server XML ładowanie zbiorcze Object Model (SQLXML 4.0)
Microsoft SQL Server Model obiektowy XML ładowanie zbiorcze składa się z SQLXMLBulkLoad obiekt. Ten obiekt obsługuje następujące metody i właściwości.
Metody
- Execute
Zbiorcza powoduje załadowanie danych za pomocą pliku schematu oraz plik danych (lub strumienia) dostarczanych jako parametry.
Właściwości
BulkLoad
Określa, czy ładowanie zbiorcze powinny być wykonywane.Ta właściwość jest przydatna, jeśli mają być tworzone tylko schematy (zobacz SchemaGen, SGDropTables, a SGUseID właściwości, które należy wykonać) i nie wykonania ładowania zbiorczej. Jest to właściwość logiczna.Gdy właściwość jest zestaw na wartość TRUE, wykonuje XML ładowanie zbiorcze.Gdy jest ustawiana na wartość FAŁSZ, nie wykonuje XML ładowanie zbiorcze.Wartością domyślną jest TRUE.
CheckConstraints
Określa, czy ograniczenia (np. ograniczenia ze względu na podstawowym relacja klucz obcy/klucz między kolumnami), które są określone kolumna mają być sprawdzane podczas XML ładowanie zbiorcze wstawia dane do kolumn.Jest to właściwość logiczna.Gdy właściwość jest zestaw na wartość TRUE, kontroli XML ładowanie zbiorcze ograniczenia dla każdej wartości wstawione (co oznacza, że naruszenie ograniczenia zakończy się błędem).
Uwaga
Aby pozostawić tę właściwość jako FAŁSZ, musisz mieć ALTER tabela uprawnienia dotyczące tabel miejsce docelowe.Aby uzyskać więcej informacji zobaczALTER tabela (języka Transact-SQL).
Wartością domyślną jest FALSE.Gdy jest zestaw na wartość FALSE, XML ładowanie zbiorcze ignoruje ograniczenia podczas operacji wstawiania.W bieżącej implementacji należy zdefiniować tabele w kolejności od klucz podstawowy i relacji kluczy obcych w schemacie mapowania.Oznacza to z klucz podstawowy tabela należy zdefiniować przed odpowiedniej tabela z klucz obcy; w przeciwnym razie XML ładowanie zbiorcze zakończy się niepowodzeniem.
Należy zauważyć, że jeśli operacji propagacji ID, a następnie opcja ta nie dotyczy i sprawdzanie ograniczenia znajdzie się.Dzieje się tak podczas KeepIdentity=False i nie ma relacji zdefiniowanych w przypadku gdy nadrzędny jest pole tożsamości, wartość jest podrzędność, jest on generowany.
ConnectionCommand
Określa istniejący obiekt połączenia (na przykład, ADO lub ICommand obiektu polecenia), XML ładowanie zbiorcze mają używać. Można użyć ConnectionCommand Właściwość zamiast określać ciąg połączenia z ConnectionString Właściwość. The Transaction właściwość must be zestaw to TRUE if you use ConnectionCommand.Jeśli korzystasz zarówno ConnectionString i ConnectionCommand właściwość XML ładowanie zbiorcze używa ostatnio określonej właściwość.
Domyślną wartością jest NULL.
ConnectionString
Identyfikuje ciąg połączenia OLE DB, który zawiera informacje niezbędne do nawiązania połączenia z wystąpienie bazy danych.Jeśli korzystasz zarówno ConnectionString i ConnectionCommand właściwość XML ładowanie zbiorcze używa ostatnio określonej właściwość.Domyślną wartością jest NULL.
ErrorLogFile
Określa nazwę pliku, do którego XML ładowanie zbiorcze rejestruje błędy i komunikaty.Wartością domyślną jest ciąg pusty, w którym to przypadek nie dochodzi do rejestrowania.FireTriggers
Określa, jeżeli wyzwalaczy zdefiniowany w tabelach miejsce docelowe należy ognia podczas operacji ładowanie zbiorcze.Wartością domyślną jest FALSE.Gdy zestaw na wartość TRUE, wyzwalacze będą ognia zgodnie z normalnym podczas operacji wstawiania.
Uwaga
Aby pozostawić tę właściwość jako FAŁSZ, musisz mieć ALTER tabela uprawnienia dotyczące tabel miejsce docelowe.Aby uzyskać więcej informacji zobaczALTER tabela (języka Transact-SQL).
Należy zauważyć, że jeśli operacji propagacji ID, a następnie opcja ta nie dotyczy i wyzwalaczy znajdzie się.Dzieje się tak podczas KeepIdentity=False i nie ma relacji zdefiniowanych w przypadku gdy nadrzędny jest pole tożsamości, wartość jest podrzędność, jest on generowany.
ForceTableLock
Określa, czy tabele, do których XML ładowanie zbiorcze kopie danych powinno być zablokowane przez cały czas trwania ładowanie zbiorcze.Jest to właściwość logiczna.Gdy właściwość jest zestaw na wartość TRUE, XML ładowanie zbiorcze nabywa blokady tabela na czas trwania obciążenie zbiorcze.Gdy jest zestaw na wartość FALSE, XML ładowanie zbiorcze uzyskuje blokadę tabela za każdym razem do wstawienia rekordu w tabela.Wartością domyślną jest FALSE.
IgnoreDuplicateKeys
Określa, co należy zrobić w przypadku próby wstawienia zduplikowane wartości kolumna klucz.Jeśli ta właściwość jest zestaw na wartość TRUE i próby wstawienia rekordu o zduplikowanych wartości kolumna klucz SQL Server nie wstawia odpowiedni rekord. Ale ją wstawić kolejnych rekord; w ten sposób nie niepowodzenie operacji ładowanie zbiorcze.Jeśli ta właściwość jest zestaw na wartość FALSE, ładowanie zbiorcze nie powiodło się podczas próby wstawienia zduplikowanej wartości kolumna klucz.Gdy IgnoreDuplicateKeys Właściwość jest zestaw na wartość TRUE, instrukcja zatwierdzanie wystawiany dla każdego rekordu w tabela dodaje. To spowalnia działanie.Właściwość zestaw tylko wtedy, gdy wartość właściwości równa TRUE oznacza Transaction Właściwość ma wartość FALSE, ponieważ transakcyjne zachowanie jest implementowane przy użyciu plików.
Wartością domyślną jest FALSE.
KeepIdentity
Określa sposób postępowania z wartości kolumna Typ tożsamości urządzenie źródłowe pliku.Jest to właściwość logiczna.Gdy właściwość jest ustawiona na wartość TRUE, XML ładowanie zbiorcze przypisuje wartości, które są określone w urządzenie źródłowe plik, aby kolumna tożsamości.Gdy właściwość jest zestaw na wartość FALSE, operacji zbiorczego ładowania ignoruje wartości kolumna tożsamości, które są określone w źródle.W takim przypadek SQL Server przypisuje wartość do kolumna tożsamości.Jeżeli obciążenie zbiorcze pociąga za sobą kolumna, która jest klucz obcy, odnoszące się do kolumna tożsamooci, w którym SQL Server-generowane są przechowywane, ładowanie zbiorcze odpowiednio propaguje te wartości tożsamości do kolumna klucz obcy.
Wartość tej właściwość dotyczy wszystkich kolumn w ładowanie zbiorcze.Wartością domyślną jest TRUE.
Uwaga
Aby pozostawić tę właściwość jako PRAWDA, musisz mieć ALTER tabela uprawnienia dotyczące tabel miejsce docelowe.W przeciwnym razie, musi być zestaw na wartość FALSE.Aby uzyskać więcej informacji zobaczALTER tabela (języka Transact-SQL).
KeepNulls
Określa, jakiej wartości użyć w wypadku kolumna, która nie ma odpowiedniego atrybut lub elementu podrzędnego w dokumencie XML.Jest to właściwość logiczna.Gdy właściwość jest zestaw na wartość TRUE, przypisuje XML ładowanie zbiorcze wartość wartość null kolumna.Go nie przypisuje wartość domyślną kolumna, jeśli istnieje jako zestaw na serwerze.Wartość tej właściwość dotyczy wszystkich kolumn w ładowanie zbiorcze.Wartością domyślną jest FALSE.
SchemaGen
Określa, czy do tworzenia tabel wymagane przed wykonaniem operacji zbiorczej obciążenia.Jest to właściwość logiczna.Jeśli ta właściwość jest ustawiona na wartość TRUE, tworzone są tabele, określone w schemacie mapowania (Baza danych musi istnieć).Jeśli jeden lub więcej tabel już istnieje w bazie danych, SGDropTables Właściwość określa, czy te gotowe tabele mają być usunięty i utworzony ponownie.The default value for the SchemaGen property is FALSE.SchemaGen does not create PRIMARY KEY constraints on the newly created tables.SchemaGen does, however, create FOREIGN KEY constraints in the database if it can find matching sql:relationship and sql:key-fields annotations in the mapping schema and if the key field consists of a single column.
Należy zauważyć, że jeśli użytkownik zestaw SchemaGen Właściwość ma wartość TRUE, XML ładowanie zbiorcze wykonuje następujące czynności:
Tworzy niezbędne tabel na podstawie nazwy elementów i atrybut.Dlatego jest ważne, że nie używasz SQL Server słowa zastrzeżone dla nazw elementów i atrybut w schemacie.
Zwraca przepełnienie danych dla każdej kolumna, wyznaczoną za pomocą SQL:Overflow - pole in Typ danych XML format.
SGDropTables
Określa, czy istniejące tabele powinny być usunięty i utworzony ponownie.Użyj tej właściwości po SchemaGen Właściwość jest zestaw na wartość TRUE. Jeśli SGDropTables ma wartość FAŁSZ, są zachowywane w istniejących tabelach. Gdy ta właściwość ma wartość PRAWDA, istniejące tabele są usuwane i utworzony ponownie.Wartością domyślną jest FALSE.
SGUseID
Określa, czy atrybuty w schemacie mapowania, jest identyfikowany jako id Typ można używać przy tworzeniu ograniczenia klucz podstawowy, podczas tworzenia tabela. Za pomocą tej właściwości po SchemaGen Właściwość jest zestaw na wartość TRUE. Jeśli SGUseID ma wartość PRAWDA, SchemaGen narzędzie używa atrybut, dla którego dt:type="id" jest określony jako kolumna klucz podstawowy i dodaje odpowiednie ograniczenia klucz podstawowy, podczas tworzenia tabela.Wartością domyślną jest FALSE.
TempFilePath
Określa ścieżka do pliku w przypadku gdy XML ładowanie zbiorcze tworzy pliki tymczasowe dla transakcyjnego ładowanie zbiorcze.(Ta właściwość jest przydatna tylko wtedy, gdy właściwość Transaction jest zestaw na wartość TRUE.) Należy się upewnić, że SQL Server konto, które jest używane w formacie XML ładowanie zbiorcze ma dostęp do tej ścieżka. Jeśli ta właściwość nie jest zestaw, XML ładowanie zbiorcze pliki tymczasowe są przechowywane w lokalizacji określonej w zmiennej środowiskowej TEMP.Transaction
Określa, czy obciążenie zbiorcze powinno być wykonane jako transakcja, w tym przypadek wycofywanie jest gwarantowane jeśli ładowanie zbiorcze nie powiedzie się.Jest to właściwość logiczna.Jeśli właściwość jest zestaw na wartość TRUE, obciążenie zbiorcze występuje w kontekście transakcji.The TempFilePath właściwość is useful only when Transaction is zestaw to TRUE.Uwaga
Jeśli ładowany dane binarne (takie jak bin.hex, typy danych XML bin.base64 binarne, obraz SQL Server typy danych), Transaction Właściwość musi być zestaw na wartość FALSE.
Wartością domyślną jest FALSE.
XMLFragment
Określa, czy urządzenie źródłowe fragmentu XML są dane.Fragmentu XML jest dokumentem XML z nie pojedynczy element najwyższego poziom (głównym).Jest to właściwość logiczna.Tej właściwość należy ustawić na wartość TRUE, jeśli plik źródłowy, który składa się z fragmentu XML.Wartością domyślną jest FALSE.