亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

MSSQL跨服務器連接的幾種方法

瀏覽:152日期:2023-11-05 12:14:20

下面對; MSSQL 跨服務器連接的方式總結一下:

1OPENDATASOURCE

在SQL文中直接用此語句打開數據庫,示例

OPENDATASOURCE( 'SQLOLEDB', 'Data Source=TQDBSV001;User ID=fish;Password=2312').RackDB.dbo.CS

很簡單,但是速度很慢。

2; OPENROWSET

不想打字了,網上粘得,我試驗過可以用,但我沒有用,致使多一種方法而已。我不知道他有什么特別的用途!

包括從 OLE DB 資料來源存取遠端資料需要的所有連線資訊。這個方法是在連結伺服器存取資料表的替代方法,而且是使用 OLE DB 連線與存取遠端資料的一次、特定的方法。OPENROWSET 函數可以在查詢的 FROM 子句中當作資料表名稱來參考。根據 OLE DB Provider 的能力,OPENROWSET 函數也可以當作 Insert、Update 或 Delete 陳述式的目標資料表來參考。雖然查詢可能會傳回多個結果集,OPENROWSET 只傳回第一個結果集。語法OPENROWSET ( 'provider_name' , { 'datasource' ; 'user_id' ; 'password' | 'provider_string' } , { [ catalog.] [ schema.] object | 'query' } ) 引數'provider_name'代表登錄中指定的 OLE DB Provider 的親和名稱之字元字串。provider_name 沒有預設值。'datasource'是對應到特殊 OLE DB 資料來源的字串常數。datasource 是要傳送到提供者 IDBProperties 介面以初始化提供者的 DBPROP_INIT_DATASOURCE 屬性。一般而言,此字串包括資料庫檔案名稱、資料庫伺服器名稱或提供者了解并用以尋找資料庫的名稱。'user_id'是要傳送到指定的 OLE DB Provider 的使用者名稱字串常數。user_id 指定連線的安全性內容且以 DBPROP_AUTH_USERID 屬性傳送以初始化提供者。'password'是要傳送到 OLE DB Provider 的使用者密碼字串常數。初始化提供者時,password 以 DBPROP_AUTH_PASSWORD 屬性傳送。'provider_string'是以 DBPROP_INIT_PROVIDERSTRING 屬性傳送以初始化 OLE DB Provider 的特定提供者連線字串。provider_string 一般會包含所有初始化提供者時需要的所有連線資訊。catalog是有指定物件的資料庫目錄或資料庫名稱。schema是指定物件的結構描述或物件擁有者名稱。object唯一指定要操作的物件之物件名稱。'query'傳送到提供者并由提供者執行的字串常數。MicrosoftR SQL Server? 不處理此查詢,但處理由提供者傳回的查詢結果 (傳遞查詢)。傳遞查詢用在不經由資料表名稱而只經由命令語言顯露其表格資料的提供者時,非常有用。只要查詢提供者支援 OLE DB Command 物件及其強制介面,遠端伺服器就支援傳遞查詢。如需詳細資訊,請參閱 SQL Server OLE DB Programmer's Reference。備注如果 OLE DB Provider 支援指定的資料來源中的多個目錄與結構描述,就需要資料庫目錄與結構描述名稱。如果 OLE DB Provider 不支援,可以省略 catalog 與 schema 的值。如果提供者只支援結構描述名稱,必須指定 schema.object 格式之兩個部份的名稱。如果提供者只支援資料庫目錄名稱,必須指定 catalog.schema.object 格式之三個部份的名稱。OPENROWSET 不接受變數作為其引數。權限OPENROWSET 權限由傳送到 OLE DB Provider 的使用者名稱的權限來決定。范例A. 使用有 Select 的OPENROWSET 與 Microsoft OLE DB Provider for SQL Server以下范例使用 Microsoft OLE DB Provider for SQL Server,以存取命名為 seattle1 的遠端伺服器上 pubs 資料庫的 authors 資料表。從 datasource、user_id 與 password 初始化提供者,且使用 Select 來定義傳回的資料列集。格式:Select a.*FROM OPENROWSET('SQLOLEDB’,'ServerName';'LoginUser';'Password', 'Select * FROM [DatabaseName].dbo.TableName orDER BY ColName1, ColName12') AS a說明:查詢所提供的驅動程序(SQLOLEDB是查詢SQL Server),查詢SQL服務器ServerName下的Databasename中的數據TableName表中的數據(SQL語句),其實用戶權限是LoginUser。例子:USE pubsGOSelect a.*FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass', 'Select * FROM pubs.dbo.authors orDER BY au_lname, au_fname') AS aGOB. 使用有物件的 OPENROWSET 與 OLE DB Provider for ODBC以下范例使用 OLE DB Provider for ODBC 與 SQL Server ODBC 驅動程式,來存取命名為 seattle1 的遠端伺服器上 pubs 資料庫的 authors 資料表。以 ODBC 提供者使用的 ODBC 語法指定之 provider_string 來初始化提供者,并使用 catalog.schema.object 語法來定義傳回的資料列集。格式:這連接方式是ODBC數據的驅動程序Select a.*FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=ServerName;UID=LoginUser;PWD=Password, [DatabaseName].dbo.TableName) AS aorDER BY ColName1, ColName12USE pubsGOSelect a.*FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=seattle1;UID=sa;PWD=MyPass', pubs.dbo.authors) AS aorDER BY a.au_lname, a.au_fnameGOC. 使用 Microsoft OLE DB Provider for Jet以下范例藉由Microsoft OLE DB Provider for Jet 存取 Microsoft Access Northwind 資料庫中的 orders 資料表。1.附注 以下范例假設已經安裝 Access。1、USE pubsGOSelect a.*FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:MSOfficeAccessSamplesorthwind.mdb';'admin';'mypwd', orders) AS aGO2、select * from openrowset('Microsoft.Jet.OLEDB.4.0', 'E:StudyAccesstest.mdb';'admin';'','select * from student')或Select a.*FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0', 'E:StudyAccesstest.mdb';'admin';'', student) AS a2.是以Excel為例,必須安裝了Excelselect * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=G:WorkEveryDayDayDoOrderList',OrderList$) DATABASE=G:WorkEveryDayDayDoOrderList'是Excel的表名及路徑,OrderList$是工作區的名字MICROSOFT.JET.OLEDB.4.0是Excel的驅動程序,也可以用MICROSOFT.JET.OLEDB.5.0,MICROSOFT.JET.OLEDB.8.0,我測試所用的window 2003及SQL Server 2000其中OrderList$所面的$不能少,要不能報錯,$是代表是工作區3.以VFP(DBF文件名)select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:','select * from [temp.DBF]')說明:SourceType是數據源類型,SourceDB是數據源,后面是操作DBF的SQL查詢語句。D. 使用 OPENROWSET 與 INNER JOIN 中的其他資料表以下范例選取儲存在相同電腦上 SQL Server Northwind 資料庫的 customers 資料表的所有資料,以及 Access Northwind 資料庫的 orders 資料表的所有資料。附注 以下范例假設已經安裝 Access。USE pubsGOSelect c.*, o.*FROM Northwind.dbo.Customers AS c INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:MSOfficeAccessSamplesorthwind.mdb';'admin';'mypwd', orders) AS o ON c.CustomerID = o.CustomerID GOE.將存儲過程的記錄集插入到虛擬表中(執行的存儲不策有全局虛擬表)如:Select * into #tFROM OPENQUERY([192.168.42.43], 'exec [Order].dbo.Or_Select_BackListDetail ''BK0607190001''')如下:就會報錯,必須先建表create table #t,而且此虛擬表的參數一定要與存儲過程的參數一樣。Insert into #texec [Order].dbo.Or_Select_BackListDetail 'BK0607190001'F:將打開的相應的文件(dbf,exec等等),從SQL里插入數據進行insert into;--select * from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=d:','select * from temp.DBF') select top 100 orderno,shipto from ordermaster注:1、兩數字段結構一樣(長度、類型)2、保證導出表沒有為null或空的字段3、將你上面的語句改為下面的select*fromtmp.DBF,就是不要那個[]

3; 建立鏈接服務器;

ifexists(select1frommaster..sysserverswheresrvname='ls_Source') execsp_dropserver'ls_Source','droplogins'goexecsp_addlinkedserver'ls_Source', 'ms','SQLOLEDB','TAODBSV001' goEXEC sp_addlinkedsrvlogin 'ls_Source','false','sa','read',''

標簽: MsSQL 數據庫
主站蜘蛛池模板: 国产日韩在线看 | 国产不卡视频在线播放 | 久久视频精品36线视频在线观看 | 国产精品久久做爰 | 1024亚洲视频 | 三级毛片视频 | 欧美亚洲日本韩国一级毛片 | 国产首页 | 欧美一级α片毛片免费观看 | 请看一下欧美一级毛片 | 免费淫片| 午夜性刺激免费视频 | 一级黄网站 | 久久精品国产999大香线焦 | 久久免费香蕉视频 | 黄网址大全免费观看免费 | 日韩精品亚洲专区在线影视 | 看黄色一级视频 | 国产亚洲欧美日韩v在线 | 久久er99热精品一区二区 | 国内自拍视频在线看免费观看 | 欧美激情人成日本在线视频 | 国产一级在线免费观看 | 天天爱天天做色综合 | 大学生久久香蕉国产线观看 | 伊人影院在线观看视频 | 91在线精品你懂的免费 | 日本热久久 | 精品国产第一页 | 久久精品国产精品青草 | 亚洲第一区视频 | 精品国产香蕉伊思人在线 | 欧美一级一毛片 | 亚洲免费精品 | 婷婷性| 日本vs欧美一区二区三区 | 三及毛片| 黄色免费大全 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 九九51精品国产免费看 | 精品欧美一区二区在线观看 |