程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQLServer 跨庫查詢完成辦法

SQLServer 跨庫查詢完成辦法

編輯:MSSQL

SQLServer 跨庫查詢完成辦法。本站提示廣大學習愛好者:(SQLServer 跨庫查詢完成辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是SQLServer 跨庫查詢完成辦法正文


本文給出一條 SQL 語句用於展現在統一名辦事器上,分歧的數據庫間查詢,留意以後銜接用戶要對兩個庫都有權限
SQL Server 中 SQL 語句中對象的完全表達式是:

[DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]

本文給出一條 SQL 語句用於展現在統一名辦事器上,分歧的數據庫間查詢,留意以後銜接用戶要對兩個庫都有權限。

select *
from CfteaDb1.dbo.CfteaTable1 inner join CfteaDb2.dbo.CfteaTable2
on CfteaDb1.dbo.CfteaTable1.Id=CfteaDb2.dbo.CfteaTable2.Id

以上在 SQL Server 2008 R2 的 Management Studio 中測試勝利。

上面是一些彌補材料

不應用鏈接的辦事器名,而供給特別的銜接信息,並將其作為四部門對象名的一部門。

語法
OPENDATASOURCE ( provider_name, init_string )

參數
provider_name

注冊為用於拜訪數據源的 OLE DB 供給法式的 PROGID 的稱號。provider_name 的數據類型為 char,沒有默許值。

init_string

銜接字符串,這些字符串將要傳遞給目的供給法式的 IDataInitialize 接口。供給法式字符串語法是以症結字值對為基本的,這些症結字值對由分號離隔,例如:"keyword1=value; keyword2=value."

在 Microsoft® Data Access SDK 中界說了根本語法。有關所支撐的特定症結字值對的信息,請拜見供給法式中的文檔。下表列出 init_string 參數中最經常使用的症結字。
症結字 OLE DB 屬性 有用值和描寫 數據源 DBPROP_INIT_DATASOURCE 要銜接的數據源的稱號。分歧的供給法式用分歧的辦法對此停止說明。關於 SQL Server OLE DB 供給法式來講,這會指明辦事器的稱號。關於 Jet OLE DB 供給法式來講,這會指明 .mdb 文件或 .xls 文件的完全途徑。 地位 DBPROP_INIT_LOCATION 要銜接的數據庫的地位。 擴大屬性 DBPROP_INIT_PROVIDERSTRING 供給法式特定的銜接字符串。 銜接超時 DBPROP_INIT_TIMEOUT 超時價,在該超時價後,銜接測驗考試將掉敗。 用戶 ID DBPROP_AUTH_USERID 用於該銜接的用戶 ID。 暗碼 DBPROP_AUTH_PASSWORD 用於該銜接的暗碼。 目次 DBPROP_INIT_CATALOG 銜接到數據源時的初始或默許的目次稱號。
正文
OPENDATASOURCE 函數可以在可以或許應用鏈接辦事器名的雷同 Transact-SQL 語法地位中應用。是以,便可以將 OPENDATASOURCE 用作四部門稱號的第一部門,該稱號指的是 SELECT、INSERT、UPDATE 或 DELETE 語句中的表或視圖的稱號;或許指的是 EXECUTE 語句中的長途存儲進程。當履行長途存儲進程時,OPENDATASOURCE 應當指的是另外一個 SQL Server。OPENDATASOURCE 不接收參數變量。

與 OPENROWSET 函數相似,OPENDATASOURCE 應當只援用那些不常常拜訪的 OLE DB 數據源。關於拜訪次數稍多的任何數據源,請為它們界說鏈接的辦事器。不管 OPENDATASOURCE 照樣 OPENROWSET 都不克不及供給鏈接的辦事器界說的全體功效,例如,平安治理和查詢目次信息的才能。每次挪用 OPENDATASOURCE 時,都必需供給一切的銜接信息(包含暗碼)。

示例
上面的示例拜訪來自某個表的數據,該表在 SQL Server 的另外一個實例中。

SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).Northwind.dbo.Categories

上面是個查詢的示例,它經由過程用於 Jet 的 OLE DB 供給法式查詢 Excel 電子表格。

SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved