OPENDATASOURCE (Transact-SQL)
Zawiera informacje połączenia ad hoc jako część nazwy czteroczęściowym identyfikatorem obiektu bez używania nazwy serwer połączony .
Składnia
OPENDATASOURCE ( provider_name, init_string )
Argumenty
provider_name
Nazwa jest zarejestrowana jako Identyfikator PROGIDdostawca OLE DB, umożliwiające dostęp do źródłodanych. provider_namejest char Typ danych, z braku wartości domyślnej.init_string
parametry połączenia zostanie przekazany do IDataInitializeinterfejs obiekt docelowydostawca. Składniaciąg dostawcajest oparty na pary słowo kluczowe wartość oddzielone średnikami, takie jak: "keyword1=wartość;keyword2=value'.Dla par określone słowo kluczowe wartość obsługiwane przez dostawca, zobacz Microsoft Data Access SDK.Dokumentacja ta definiuje podstawowa składnia.Następujące słowa kluczowe listach najczęściej używanych tabela w init_string argumentu.
Słowo kluczowe
OLE DB,właściwość
Prawidłowe wartości i opis
Źródło danych
DBPROP_INIT_DATASOURCE
Nazwa danych źródło połączyć.Różnych dostawców interpretuje to na różne sposoby.Dla SQL Server macierzystego klienta OLE DB dostawcawskazuje nazwę serwera.Dla aparatu Jet OLE DB dostawcawskazuje pełną ścieżka pliku .mdb lub plik .xls.
Location
DBPROP_INIT_LOCATION
Lokalizacja bazy danych, aby nawiązać połączenie.
Właściwości rozszerzone
DBPROP_INIT_PROVIDERSTRING
dostawca— określonego połączenia -ciąg.
Limit czasu połączenia
DBPROP_INIT_TIMEOUT
Wartość limitu czasu, po którym próbie połączenia nie powiedzie się.
Identyfikator użytkownika
DBPROP_AUTH_USERID
Identyfikator użytkownika, który ma być używany dla połączenia.
Hasło
DBPROP_AUTH_PASSWORD
Hasło używane do połączenia.
Katalog
DBPROP_INIT_CATALOG
Nazwa wstępnego lub wykaz domyślny podczas łączenia się z danych źródło.
Zintegrowane zabezpieczenia
DBPROP_AUTH_INTEGRATED
Interfejs SSPI, aby określić uwierzytelnianie systemu Windows
Uwagi
OPENDATASOURCE umożliwia dostęp do dane zdalne danych OLE DB źródeł tylko wtedy, gdy DisallowAdhocAccess opcja rejestru jest jawnie zestaw na wartość 0 dla określonego dostawcai Ad Hoc Distributed Queries jest włączona opcja konfiguracja zaawansowana.Jeśli te opcje nie są zestaw, domyślne zachowanie nie zezwala na dostęp ad hoc.
OPENDATASOURCE funkcja może być użyta w tym samym Transact-SQL Lokalizacje składni jako połączony-nazwa serwera.Dlatego też OPENDATASOURCE może służyć jako pierwsza część czteroczęściowym nazwę, która odnosi się do nazwy tabela lub widoku w instrukcjaSELECT, INSERT, UPDATE lub DELETE lub zdalna procedura składowana w wykonywanie instrukcja.Podczas wykonywania zdalnego procedur przechowywanych, OPENDATASOURCE powinno odnosić się do innego wystąpienie programu SQL Server.OPENDATASOURCE nie akceptuje zmiennych jej argumentów.
Podobnie jak OPENROWSET funkcjaOPENDATASOURCE należy odwoływać się tylko źródła danych OLE DB , które są rzadko dostępne.Definiowanie serwer połączony dla wszelkich źródeł danych, dostęp do więcej niż kilka razy.OPENDATASOURCE ani OPENROWSET zapewnia funkcjonalność serwera połączonego definicje, takich jak zarządzanie zabezpieczeniami i zdolność do wykazu kwerendami.Wszystkie informacje o połączeniu, łącznie z hasłami, należy dostarczyć co czas nosi OPENDATASOURCE.
Ważne: |
---|
Uwierzytelnianie systemu Windows jest dużo bezpieczniejszy niż SQL Server uwierzytelniania.Należy używać uwierzytelniania systemu Windows, jeśli to możliwe.Nie należy używać OPENDATASOURCE jawne hasłami w parametry połączenia. |
Wymagania połączenia dla każdego dostawca są podobne do wymagań dla tych parametrów podczas tworzenia serwerów połączonych.W temacie znajdują się szczegółowe informacje dla wielu dostawców wspólnych sp_addlinkedserver (Transact-SQL).
Uprawnienia
Każdy użytkownik może wykonać OPENDATASOURCE.Z parametry połączeniasą określone uprawnienia, które są używane do łączenia się z serwerem zdalnym.
Przykłady
Poniższy przykład tworzy połączenie ad hoc do Payroll wystąpienie SQL Server na serwerze Londoni wykonuje kwerendę AdventureWorks2008R2.HumanResources.Employee tabela. (Użyj SQLNCLI i SQL Server nastąpi przekierowanie do najnowszej wersja programu SQL Server macierzystego klienta OLE DB Provider.)
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=London\Payroll;Integrated Security=SSPI')
.AdventureWorks2008R2.HumanResources.Employee
Poniższy przykład tworzy połączenie ad hoc do arkusza kalkulacyjnego programu Excel w formacie 1997-2003.
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;
Zobacz także