日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server的链接服务器技术小结

發(fā)布時(shí)間:2025/5/22 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server的链接服务器技术小结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、使用 Microsoft OLE DB Provider For ODBC 鏈接MySQL

安裝MySQLODBC驅(qū)動MyODBC

1、為MySQL建立一個(gè)ODBC系統(tǒng)數(shù)據(jù)源,例如:選擇數(shù)據(jù)庫為test ,數(shù)據(jù)源名稱為myDSN?

2、建立鏈接數(shù)據(jù)庫

EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', ?

?

@provider = 'MSDASQL', @datasrc = 'myDSN'

GO

EXEC sp_addlinkedsrvlogin?

@rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mys ?

?

ql的用戶名',@rmtpassword='mysql的密碼' ?

?

3、查詢數(shù)據(jù) ?

?

SELECT * FROM OPENQUERY (MySQLTest ,'select * from ' )?

下面這個(gè)不行:

SELECT * FROM OPENQUERY (MySQLTest ,'' ) ?

?

注意:不能直接用select * from 鏈接服務(wù)器名.數(shù)據(jù)庫名.用戶名.(或視圖) ?

?

四部分名稱查詢數(shù)據(jù),可能是個(gè)Bug.?

二、使用 Microsoft OLE DB Provider For ORACLE 鏈接ORACLE?

1、建立鏈接數(shù)據(jù)庫

sp_addlinkedserver '別名', 'Oracle', 'MSDAORA', '服務(wù)名'

GO

EXEC sp_addlinkedsrvlogin @rmtsrvname='別名?

?

',@useself='false',@locallogin='sa',@rmtuser='oracle用戶名',@rmtpassword='密碼'?

2、查詢數(shù)據(jù) ?

?

SELECT * FROM 別名..用戶名.(視圖)?

注意:四部分名稱全部用大寫 ?

?

3、執(zhí)行存儲過程?

使用OPENQUERY:

SELECT *

FROM OPENQUERY(別名, 'exec 用戶名.存儲過程名')?

三、設(shè)置鏈接服務(wù)器以訪問格式化文本文件 ?

?

用于 Jet Microsoft OLE DB 提供程序可用于訪問并查詢文本文件。 ?

?

若要直接創(chuàng)建訪問文本文件的鏈接服務(wù)器而不將文件鏈接為 Access .mdb 文件中 ?的表,請執(zhí)行 sp_addlinkedserver,如下例所示。?

提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串為\\"Text\\"。數(shù)據(jù)源是包 ?

?

含文本文件的目錄的完整路徑名稱。schema.ini 文件(描述文本文件的結(jié)構(gòu))必 ?

?

須與此文本文件存在于相同的目錄中。有關(guān)創(chuàng)建 schema.ini 文件的更多信息, ?

?

請參見 Jet 數(shù)據(jù)庫引擎文檔。 ?

?

--Create a linked server.

EXEC sp_addlinkedserver txtsrv, 'Jet 4.0',?

'Microsoft.Jet.OLEDB.4.0',

'c:\data\distqry',

NULL,

'Text'

GO?

--Set up login mappings.

EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL

GO ?

?

--List the tables in the linked server.

EXEC sp_tables_ex txtsrv

GO?

--Query one of the tables: file1#txt

--using a 4-part name.?

SELECT *?

FROM txtsrv...[file1#txt] ?

?

四、鏈接SQL Server服務(wù)器:?

1、使用 ODBC Microsoft OLE DB 提供程序 ?

?

EXEC sp_addlinkedserver '別名','','MSDASQL',NULL,NULL,'DRIVER={SQL ?

Server};SERVER=遠(yuǎn)程名;UID=用戶;PWD=密碼;'

如果加上參數(shù)@catalog,可以指定數(shù)據(jù)庫

exec sp_addlinkedsrvlogin @rmtsrvname='別名?

',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密碼'?

2、使用SQL Server Microsoft OLE DB 提供程序 ?

?

exec sp_addlinkedserver @server='別名',@provider='sqloledb',@srvproduct='',@datasrc='遠(yuǎn)程服務(wù)器名'

exec sp_addlinkedsrvlogin ?

?

@rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtp?

assword='密碼' ?

?

然后你就可以如下:

select * from 別名.庫名.dbo.表名

insert 庫名.dbo.表名 select * from 別名.庫名.dbo.表名

select * into 庫名.dbo.新表名 from 別名.庫名.dbo.表名

go?

1?

此示例在 SQL Server 的實(shí)例上創(chuàng)建一臺名為 S1_instance1 的鏈接服務(wù)器,

該服務(wù)器使用 SQL Server Microsoft OLE DB 提供程序。 ?

?

EXEC sp_addlinkedserver @server='S1_instance1', @srvproduct='',

@provider='SQLOLEDB',?

@datasrc='S1\instance1'?

2 ?

?

--建立鏈接服務(wù)器

EXEC sp_addlinkedserver 'xiaoming','','MSDASQL',NULL,NULL,'DRIVER={SQL?

Server};SERVER=192.168.0.1;UID=sa;PWD=123;'

--建立鏈接服務(wù)器登錄映射

exec sp_addlinkedsrvlogin?

@rmtsrvname='xiaoming',@useself='false',@locallogin='sa',@rmtuser='sa',?

@rmtpassword='123'

go

--查詢數(shù)據(jù)

select * from xiaoming.schooladmin.dbo.agent?

--刪除鏈接服務(wù)器登錄映射和鏈接服務(wù)器:

exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'

exec sp_dropserver 'xiaoming'?

注意事項(xiàng):

?

SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }

所以不能通過連接服務(wù)器設(shè)置此屬性

into 也存在這樣的問題

select * into xiaoming.northwind.dbo.tt from?

xiaoming.northwind.dbo.tt?

五、設(shè)置鏈接服務(wù)器以訪問Access數(shù)據(jù)庫?

?

使用用于 Jet Microsoft OLE DB 提供程序

此示例創(chuàng)建一臺名為 test的鏈接服務(wù)器。?

說明 本示例假設(shè)已經(jīng)安裝 Microsoft Access 和示例 Northwind 數(shù)據(jù)庫,且?

?

?

?

Northwind 數(shù)據(jù)庫駐留在 C:\ ?

USE master

GO

-- To use named parameters:

EXEC sp_addlinkedserver?

@server = 'test',?

@provider = 'Microsoft.Jet.OLEDB.4.0',?

@srvproduct = 'OLE DB Provider for Jet',

@datasrc = 'C:\Northwind.mdb'

GO

-- OR to use no named parameters:

USE master

GO

EXEC sp_addlinkedserver?

'test',?

'OLE DB Provider for Jet',

'Microsoft.Jet.OLEDB.4.0',?

'C:\Northwind.mdb'

GO

使用

select * from test...表名?

六、連接SYBASE

--首先,你要在SQL服務(wù)器上裝上訪問sybase的客戶端?

--創(chuàng)建鏈接服務(wù)器

exec sp_addlinkedserver 'Sybase1', ' ', 'MSDASQL', NULL, NULL

,'Driver={Sybase System ?

?

11};Database=hisdb;Srvr=10.211.135.12;UID=sa;PWD=1111;'

使用:

select * from Sybase1.hisdb.dbo.table1 ?

?

方法二

使用ODBC

SQL ServerSYBASE連接服務(wù)器的實(shí)現(xiàn)?

?

本文的測試環(huán)境為:

操作系統(tǒng): WINDOWS2000 SERVER (繁體系統(tǒng))

安裝數(shù)據(jù)庫: SQLSERVER2000(英文版)SYBASE8.0客戶端(英文版)

具體實(shí)現(xiàn)步驟:?

1.要求pc機(jī)上安裝SYBASE8.0客戶端軟件和sqlserver2000軟件。?

2.配置windowsODBC數(shù)據(jù)源:?

開始菜單》程式集》系統(tǒng)管理工具》資料數(shù)據(jù)源(ODBC》進(jìn)入配置用?

?

?

?

DSN或者系統(tǒng)DSN均可以:添加》選擇ADAPTIVE SERVER ANYWHERE8.0—》自定 ?

?

義數(shù)據(jù)源名稱(隨意如: SYBASETEST》數(shù)據(jù)庫名稱(必選!)OK完成。 ?

?

3. 選擇剛才配置的數(shù)據(jù)源名稱, 再選擇 配置, 跳出SYBASETEST MESSAGES: ?

?

The data source is not connected. Connecting to the data source will?provide useful information during configuration. Would you like to?connect to the data source?

選擇YES(OK或確認(rèn))即可進(jìn)入CONNECT TO SYBASE DATABASE畫面: ?

?

USER ID: 輸入SYBASE DATABASE的用戶 ?

?

PASSWORD: 輸入SYBASE DATABASE的用戶的密碼?

CONNECTION MODE: 可以選擇默認(rèn)的SHARE模式 ?

?

選擇OK(確認(rèn))即可!?

?

配置和測試ODBC完成! ?

?

?

4.配置sqlserver2000中的連接服務(wù)器:?

企業(yè)管理器》安全性》連接服務(wù)器》右鍵新建連接服務(wù)器》定義連接名 ?

?

稱; 選其他數(shù)據(jù)源; 指定程序名稱為:SYBASE ADAPTIVE SERVER ANYWHERE?

PROVIDER8.0; 產(chǎn)品名稱可不填; 數(shù)據(jù)源指定剛才ODBC中定義好的數(shù)據(jù)源名稱;?

提供程序字符串按以下格式填寫:User ID=username;Password=userpasswd(或者?

按如下格式:UID=username;PWD=userpasswd),這里的用戶名和密碼對應(yīng)所要連??

接的SYBASE數(shù)據(jù)庫中的用戶名和密碼 安全性標(biāo)簽頁里:設(shè)置用此安全上下?

?

文進(jìn)行,并錄入SYBASE的數(shù)據(jù)庫用戶名和密碼》服務(wù)器選項(xiàng)標(biāo)簽頁可默認(rèn) ?確定。?

5.準(zhǔn)備工作全部完成!在sqlserver企業(yè)管理器》安全性》連接服務(wù)器打開剛??

建好的連接服務(wù)器》點(diǎn)擊表,即可在右邊窗口看到該SYBASE數(shù)據(jù)庫用戶擁有的?的所有表名,但在這里還并不能查看表的記錄,這個(gè)需要在sqserver的查詢分析器中用具體sql實(shí)現(xiàn)!訪問表時(shí),使用格式為: [連接服務(wù)器名]..[SYBASE用戶].[表名]。更詳細(xì)具體的使用這里不再贅述。?

轉(zhuǎn)載于:https://www.cnblogs.com/yunhuasheng/archive/2008/09/16/1291768.html

總結(jié)

以上是生活随笔為你收集整理的SQL Server的链接服务器技术小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。