OPENDATASOURCE (Transact-SQL)

Zawiera informacje połączenia ad hoc jako część nazwy czteroczęściowym identyfikatorem obiektu bez używania nazwy serwer połączony .

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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żna informacjaWaż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$] ;