OPENDATASOURCE (Transact-SQL)

bağlantılı sunucu adı'nı kullanmadan bir four-part nesne adının bir parçası olarak ad hoc bağlantı bilgilerini sağlar.

Topic link iconTransact-SQL sözdizimi kuralları

OPENDATASOURCE ( provider_name, init_string )

Bağımsız değişkenler

  • provider_name
    Is the name registered as the PROGID of the OLE DB provider used to access the data source.provider_name is a char data type, with no default value.

  • init_string
    Bağlantı dize geçirilen IDataInitialize arabirim, hedef sağlayıcı.Sağlayıcı dizesi sözdizimi, anahtar-değer çiftleri gibi birbirinden noktalı virgülle ayrılan üzerinde dayanır: 'keyword1=value;keyword2=value'.

    Sağlayıcı üzerinde desteklenen belirli anahtar-değer çiftleri için bkz: Microsoft Veri erişim SDK. Bu belge, temel sözdizimi tanımlar.Aşağıdaki liste en sık kullanılan anahtar sözcükler tablo init_string bağımsız değişken.

    Anahtar Sözcük

    OLE DB özellik

    Geçerli değerler ve açıklama

    Veri Kaynağı

    dbprop_init_datasource

    Verileri adını kaynak bağlanmak için.Farklı sağlayıcılar bu farklı şekillerde yorumlar.Için SQL Server Yerel istemci OLE DB sağlayıcı, bu sunucunun adını gösterir. Jet OLE DB sağlayıcı için bu .mdb dosyasını veya .xls dosyasının tam yolunu gösterir.

    Konum

    dbprop_init_location

    Bağlanılacak veritabanının konumu.

    Genişletilmiş Özellikler

    dbprop_init_providerstring

    Sağlayıcıya özgü bağlantı-dize.

    Zaman aşımı bağlanma

    dbprop_init_timeout

    saat aşımı değeri, bağlantı deneyin sonra başarısız olur.

    Kullanıcı Kimliği

    dbprop_auth_userid

    Bağlantı için kullanılacak kullanıcı KIMLIĞI.

    Parola

    dbprop_auth_password

    Bağlantı için kullanılacak parola.

    Katalog

    dbprop_init_catalog

    Veri kaynağına bağlanılırken varsayılan katalog veya ilk adı.

    Tümleşik güvenlik

    dbprop_auth_integrated

    SSPI, Windows kimlik doğrulaması'nı belirlemek için

Remarks

Uzak veriye OPENDATASOURCE kullanılabilir OLE DB'DEN, yalnızca veri kaynaklarını DisallowAdhocAccess Belirtilen sağlayıcı ve kayıt seçeneği açık olarak 0 olarak kümeGeçici dağıtılmış sorgular yapılandırma seçeneği Gelişmiş etkinleştirildi.Bu seçenek belirlendiğinde, varsayılan davranış, ad hoc erişim için izin vermiyor.

Aynı OPENDATASOURCE işlev kullanılabilir Transact-SQL bir bağlı sunucu adı olarak sözdizimi konumları. Bu nedenle, OPENDATASOURCE, SELECT, INSERT, UPDATE veya DELETE deyim içinde bir tablo veya Görünüm adı veya bir yürütmek deyim, uzak saklı yordam başvuran four-part adının ilk bölümü olarak kullanılabilir.Uzak bir saklı yordam çalıştırıldığında, OPENDATASOURCE diğerine başvurmalıdır örnek, SQL Server. OPENDATASOURCE bağımsız değişkenler için değişkenler kabul etmez.

OPENROWSET işlevini gibi OPENDATASOURCE seyrek olarak erişilen bir OLE DB veri kaynakları yalnızca başvuru.bağlantılı sunucu için birden çok birkaç kez erişilen tüm veri kaynakları tanımlayın.Ne OPENDATASOURCE veya OPENROWSET bağlantılı sunucu tanımları, güvenlik yönetimini ve sorgu katalog bilgileri yeteneği gibi tüm işlevleri sağlar.Parolaları da dahil olmak üzere tüm bağlantı bilgilerini her saat, OPENDATASOURCE adlı sağlanması gerekir.

Important noteImportant Note:

Windows kimlik doğrulaması'den çok daha güvenli olur. SQL Server kimlik doğrulaması. Mümkün olduğunda Windows kimlik doğrulaması kullanmanız gerekir.OPENDATASOURCE ile bağlantı açık parolalarda kullanılmamalıdır dize.

Her sağlayıcı için bağlantı gereksinimleri bağlantılı sunucular oluştururken bu parametreler için gereksinimleri benzer.Birçok ortak sağlayıcıları için Ayrıntılar konu içinde listelenir. sp_addlinkedserver (Transact-SQL).

İzinler

Herhangi bir kullanıcı, OPENDATASOURCE çalıştırabilirsiniz.Uzak sunucuya bağlanmak için kullanılan izinleri, bağlantı dizesi belirlenir.

Örnekler

Aşağıdaki örnek, geçici bir bağlantı oluşturur Payroll örneği SQL Server sunucuda Londonve sorgular AdventureWorks.HumanResources.Employee TABLO. (SQLNCLI kullanın ve SQL Server en son sürüm yönlendirir SQL Server Yerel istemci OLE DB sağlayıcı.)

SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks.HumanResources.Employee

Aşağıdaki örnek, 1997-2003 biçiminde bir Excel elektronik tablosu geçici bir bağlantı oluşturur.

SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;