色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:163日期: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 數據庫
主站蜘蛛池模板: 高清不卡一区二区三区 | 一区二区高清在线 | 日本欧美一区二区 | 欧美日韩一级黄色片 | 亚洲日本va午夜中文字幕 | 黄色三级理沦片 | 免费精品久久久久久中文字幕 | 日本欧美一区二区三区在线 | 亚洲视频手机在线观看 | 国产日产高清欧美一区二区三区 | 91国偷自产一区二区三区 | 成年视频国产免费观看 | 亚洲国产成人影院播放 | 欧美日韩另类在线观看视频 | 国产精品九九九久久九九 | 91国内精品久久久久影院优播 | 欧美一级黄 | 亚洲国产第一区二区香蕉 | 久久精品亚洲一区二区 | 亚洲在线一区二区三区 | 亚洲三级在线播放 | 怡红院视频在线观看 | 乱子伦一级在线现看 | 欧美jizzhd精品欧美 | 欧美亚洲国产精品久久久久 | 国产女人毛片 | 国产在线拍揄自揄视精品不卡 | 久久精品免费一区二区三区 | 国产真实乱子伦精品视 | 日韩黄在线观看免费视频 | 色综合a怡红院怡红院首页 色综合精品久久久久久久 色综合九九 | 日本一级毛片在线看 | 国产成人免费观看在线视频 | 手机看片自拍日韩日韩高清 | 日本一级aaaa特黄毛片 | 欧美在线成人午夜网站 | 日韩美女视频在线观看 | 精品视频一区二区三三区四区 | 成人午夜在线 | 日韩精品一区二区三区高清 | 全部免费的毛片在线看美国 |