opendatasource (Transact-sql)
Geçici bağlantı bilgilerini bir four-part nesne adı bir parçası olarak, bir bağlantılı sunucu adı kullanarak olmadan sağlar.
Transact-SQL Sözdizim Kuralları
Sözdizimi
OPENDATASOURCE ( provider_name, init_string )
Bağımsız değişkenler
provider_name
Adı, veri kaynağına erişmek için kullanılan ole db sağlayıcısı ProgID kaydedilir. provider_nameolan bir charveri türü, varsayılan değer yoktur.init_string
Bağlantı dizesi geçirilir IDataInitializehedef sağlayıcı arabirimi. Sağlayıcı dizesi sözdizimi gibi noktalı virgüllerle ayrılmış anahtar-değer çiftleri dayanır: 'keyword1=value;keyword2=value'.Sağlayıcı üzerinde desteklenen belirli anahtar-değer çiftleri için bkz MicrosoftData Access sdk. Bu belge temel sözdizimi tanımlar. Aşağıdaki tablo listeleri en sık kullanılan anahtar kelimeler init_stringdeğişkeni.
Anahtar Sözcük
ole db özelliği
Geçerli değerler ve açıklamalar
Veri Kaynağı
DBPROP_INIT_DATASOURCE
Bağlanmak için veri kaynağı adı. Farklı sağlayıcıların bu farklı şekillerde yorumlamak. İçin SQL Serveryerel istemci ole db sağlayıcısı, bu sunucunun adını gösterir. Jet ole db sağlayıcı, bu .mdb dosyası 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ı dizesi.
Timeout Bağlan
DBPROP_INIT_TIMEOUT
Sonra bağlantı deneyin başarısız zaman aşımı değeri.
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 kaynağına bağ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şimi için kullanılabilir ole db yalnızca veri kaynakları DisallowAdhocAccesskayıt seçeneği açıkça belirtilen sağlayıcı için 0 olarak ayarlanır ve Ad Hoc Distributed QueriesGelişmiş yapılandırma seçeneği etkinleştirilir. Bu seçenekler ayarlanmadığında, varsayılan davranış ad hoc erişime izin vermez.
opendatasource işlevi-ebilmek var olmak kullanılmış aynı Transact-SQLsözdizimi Mekanlar gibi bir bağlantılı sunucu adı. Bu nedenle, opendatasource select, INSERT, update veya delete deyimi içinde bir tablo veya Görünüm adı veya uzak bir saklı yordam execute deyimi başvuran four-part adı ilk bölümü olarak kullanılabilir. Uzak saklı yordamlar yürütürken, opendatasource başka bir örneğine başvurmalıdır SQL Server. opendatasource bağımsız değişkenleri kabul etmez.
openrowset işlevi, opendatasource yalnızca ole db veri kaynakları, seyrek erişilen başvuru. Bağlantılı bir sunucu için daha--dan birkaç kez erişilen herhangi bir veri kaynakları tanımlayın. Ne opendatasource veya openrowset bağlantılı sunucu tanımlarını, güvenlik yönetimi ve Katalog bilgi sorgulama yeteneği gibi tüm işlevselliği sağlar. Her zaman bu opendatasource denir parolalar dahil olmak üzere tüm bağlantı bilgilerini, sağlanmalıdır.
Önemli |
---|
Windows kimlik doğrulaması çok daha güvenli SQL Serverkimlik. Mümkün olduğunda Windows kimlik doğrulaması kullanmanız gerekir. Bağlantı dizesinde açık parolalarla opendatasource kullanılmamalıdır. |
Bağlantılı sunucular oluştururken her sağlayıcı bağlantısı gereksinimleri Bu parametreler için gereksinimleri benzer. Birçok ortak sağlayıcıları ayrıntıları'nda listelenen sp_addlinkedserver (Transact-sql).
FROM yan tümcesinde OPENDATASOURCE, OPENQUERY veya OPENROWSET deyimine yapılan tüm çağrılar, ayrı ayrı ve her iki çağrıya da aynı değişkenler sağlansa da güncelleştirmenin hedefi olarak bu işlevlere yapılan tüm çağrılardan bağımsız olarak değerlendirilir. Özellikle, bu çağrılardan birinin sonuçlarına uygulanan filtreleme veya birleştirme koşullarının diğeri üzerinde hiçbir etkisi yoktur.
İzinler
Herhangi bir kullanıcı, opendatasource yürütebilirsiniz. Uzak sunucuya bağlanmak için kullanılan izinleri bağlantı dizesi belirlenir.
Örnekler
Aşağıdaki örnek, bir anlık bağlantı oluşturur Payrollörneğini SQL Serversunucuda London, sorgular AdventureWorks2012.HumanResources.Employeetablosu. (Kullanma SQLNCLI ve SQL Serveren son sürümüne yönlendirir SQL Serveryerel istemci ole db sağlayıcısını.)
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=London\Payroll;Integrated Security=SSPI')
.AdventureWorks2012.HumanResources.Employee
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
'Data Source=London\Payroll;Integrated Security=SSPI')
.AdventureWorks2012.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$] ;
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\DataFolder\Documents\TestExcel.xls;Extended Properties=EXCEL 5.0')...[Sheet1$] ;