Jak kopiowanie masowe danych za pomocą IRowsetFastLoad (OLE DB)
Konsument powiadamia SQLOLEDB zbiorczego kopiowania przez ustawienie właściwość specyficzne dla dostawca SQLOLEDB SSPROP_ENABLEFASTLOAD VARIANT_TRUE jego potrzeby.Z właściwość ustawić urządzenie źródłowe danych, konsument tworzy sesja SQLOLEDB.Nowa sesja umożliwia dostęp klienta do IRowsetFastLoad.
Zakończenie próbki jest dostępna, ilustruje użycie IRowsetFastLoad zbiorczego kopiowania rekordów do tabela. W tym przykładzie 10 rekordów są dodawane do tabela IRFLTable.Należy utworzyć w tabela IRFLTable w bazie danych.
Zakończenie przykładowy kod znajduje się w pliku BulkCopyRecords.cpp.Możesz pobrać próbką z archiwum Pliki do pobrania program SQL Server strona w witrynie MSDN.
W tym przykładzie został opracowany przy użyciu programu Microsoft Visual C++ 2005.
Security Note: |
|---|
Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, monitu użytkowników o wprowadzenie poświadczenia w czasie wykonywania.Należy unikać przechowywania poświadczenia w pliku.Jeśli muszą przetrwać poświadczenia, należy je z zaszyfrować Win32 crypto API. |
Aby kopiowanie masowe dane do tabela programu SQL Server
Ustanów połączenie ze źródłem danych.
zestaw Właściwość SSPROP_ENABLEFASTLOAD do VARIANT_TRUE urządzenie źródłowe danych specyficznych dla dostawca SQLOLEDB.Z tą właściwością zestaw do VARIANT_TRUE, nowo utworzony sesja zezwala na dostęp klienta do IRowsetFastLoad.
Tworzenie sesja żądających IOpenRowset interfejs.
Wywołanie IOpenRowset::OpenRowset Aby otworzyć zestaw wierszy, które obejmuje wszystkie wiersze z tabela (w którym dane są mają zostać skopiowane za pomocą operacji zbiorczego kopiowania).
Wykonaj niezbędne powiązania i utworzyć metoda dostępu przy użyciu IAccessor::CreateAccessor.
Służy do ustawiania buforu pamięci, z którego zostaną skopiowane dane do tabela.
Wywołanie IRowsetFastLoad::InsertRow Aby kopiowanie masowe dane w tabela.
Security Note: