opendatasource (Transact-SQL)

bağlantılı sunucu adı kullanmadan dört nesne adının bir parçası olarak geçici bağlantı bilgilerini sağlar.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

OPENDATASOURCE ( provider_name, init_string )

Bağımsız değişkenler

  • provider_name
    Adı, veri kaynakerişmek için kullanılan ole DBsağlayıcı ProgID kaydedilir. provider_nameolan bir char veri türü, ile hiçbir varsayılan değeri.

  • init_string
    bağlantı dizesi için geçirilen IDataInitialize hedefsağlayıcıarabirim . sağlayıcıdize sözdizimi gibi noktalı virgülle ayrılmış anahtar-değer çiftleri üzerinde bağlıdır: 'keyword1=değeri;keyword2=value'.

    sağlayıcıdesteklenen belirli anahtar-değer çiftleri için bkz: Microsoft Data Access SDK.Bu belge temel sözdizimi tanımlar.Aşağıdaki tablo listeleri en sık kullanılan anahtar sözcük init_string bağımsız değişkeni.

    Anahtar Sözcük

    ole DB özellik

    Geçerli değerler ve açıklama

    Veri Kaynağı

    DBPROP_INIT_DATASOURCE

    Bağlanmak için veri kaynak adı.Farklı sağlayıcılar bu farklı şekillerde yorumlamak.İçin SQL Server yerel istemci ole DB sağlayıcı, bu sunucu adı. gösterirJet ole DB sağlayıcıfor bu .mdb dosyası veya .xls dosyasının tam yol gösterir.

    Location

    DBPROP_INIT_LOCATION

    Bağlanmak için veritabanının konumu.

    Genişletilmiş Özellikler

    DBPROP_INIT_PROVIDERSTRING

    sağlayıcı- özel bağlanma -dize.

    Bağlantı zaman aşımı

    DBPROP_INIT_TIMEOUT

    Zaman 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ılan kullanıcı kimliği.

    Parola

    DBPROP_AUTH_PASSWORD

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

    Katalog

    DBPROP_INIT_CATALOG

    Veri kaynakbağlanılırken varsayılan katalog veya ilk adı.

    Tümleşik güvenlik

    DBPROP_AUTH_INTEGRATED

    Windows kimlik doğrulaması belirtmek için SSPI

Açıklamalar

opendatasource uzak veri erişmek için kullanılabilir ole DB yalnızca veri kaynakları DisallowAdhocAccess kayıt defteri seçenektir açıkça belirtilen sağlayıcıiçin 0 küme ve Ad Hoc Distributed Queries Gelişmiş yapılandırma seçeneğini etkin.Bu seçenekleri kümeolmadığında, varsayılan davranış geçici erişim için izin vermez.

Aynı şekilde opendatasource işlev kullanılabilir Transact-SQL sözdizimi konumlarına bağlı olarak-sunucu adı.Bu nedenle, opendatasource select, INSERT, update veya delete deyim tablo veya görünüm adı ya da execute deyim uzak saklı yordam başvuran dört ad ilk bölümü olarak kullanılabilir.Uzak saklı yordamlar yürütürken, opendatasource başka bir örnek başvurmalıdır SQL Server.opendatasource bağımsız değişkenleri kabul etmez.

openrowset işlevgibi opendatasource yalnızca ole DB veri kaynakları, seyrek erişilen başvuru.bağlantılı sunucu birkaç katından fazla erişilen tüm veri kaynakları tanımlayın.Ne opendatasource veya openrowset, güvenlik yönetimi ve Katalog bilgileri sorgulama yeteneği gibi bağlantılı sunucu tanımlarını tüm işlevselliği sağlar.Parolalar, tüm bağlantı bilgilerini opendatasource denir her saat sağlanmalıdır.

Önemli notÖnemli

Windows kimlik doğrulaması çok daha güvenli SQL Server kimlik doğrulaması.Mümkün olduğunda Windows kimlik doğrulaması kullanmanız gerekir.bağlantı dizesiaçık parolalarla opendatasource kullanılmamalıdır.

Bağlantılı sunucular oluştururken her sağlayıcı için bağlantı gereksinimleri Bu parametreler için gereksinimleri benzer.Birçok ortak sağlayıcıları için Ayrıntıları'nda listelenen sp_addlinkedserver (Transact-SQL).

İzinler

Herhangi bir kullanıcı için opendatasource yürütmek .Uzaktan erişim sunucusuna bağlanmak için kullanılan izinleri ve bağlantı dizesibelirlenir.

Örnekler

Aşağıdaki örnek, geçici bir bağlantı oluşturur Payroll örnek SQL Server Server Londonve sorgular AdventureWorks2008R2.HumanResources.Employee tablo. (SQLNCLI kullanın ve SQL Server Yönlendir'ın en son sürüm SQL Server yerel istemci ole DB sağlayıcısı.)

SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks2008R2.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$] ;