一、使用 Microsoft OLE DB Provider For ODBC 鏈接MySQL
安裝MySQL的ODBC驅動(dòng)MyODBC
1、為MySQL建立一個(gè)ODBC系統數據源,例如:選擇數據庫為test ,數據源名稱(chēng)為
myDSN
2、建立鏈接數據庫
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL',
@provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin
@rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mys
ql的用戶(hù)名',@rmtpassword='mysql的密碼'
3、查詢(xún)數據
SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )
下面這個(gè)不行:
SELECT * FROM OPENQUERY (MySQLTest ,'表' )
注意:不能直接用select * from 鏈接服務(wù)器名.數據庫名.用戶(hù)名.表(或視圖)
四部分名稱(chēng)查詢(xún)數據,可能是個(gè)Bug.
二、使用 Microsoft OLE DB Provider For ORACLE 鏈接ORACLE
1、建立鏈接數據庫
sp_addlinkedserver '別名', 'Oracle', 'MSDAORA', '服務(wù)名'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='別名
',@useself='false',@locallogin='sa',@rmtuser='oracle用戶(hù)名
',@rmtpassword='密碼'
2、查詢(xún)數據
SELECT * FROM 別名..用戶(hù)名.表(視圖)
注意:四部分名稱(chēng)全部用大寫(xiě)
3、執行存儲過(guò)程
使用OPENQUERY:
SELECT *
FROM OPENQUERY(別名, 'exec 用戶(hù)名.存儲過(guò)程名')
三、設置鏈接服務(wù)器以訪(fǎng)問(wèn)格式化文本文件
用于 Jet 的 Microsoft OLE DB 提供程序可用于訪(fǎng)問(wèn)并查詢(xún)文本文件。
若要直接創(chuàng )建訪(fǎng)問(wèn)文本文件的鏈接服務(wù)器而不將文件鏈接為 Access .mdb 文件中的表,請執行 sp_addlinkedserver,如下例所示。
提供程序是 Microsoft.Jet.OLEDB.4.0,提供程序字符串為"Text"。數據源是包含文本文件的目錄的完整路徑名稱(chēng)。schema.ini 文件(描述文本文件的結構)必須與此文本文件存在于相同的目錄中。有關(guān)創(chuàng )建 schema.ini 文件的更多信息,請參見(jiàn) Jet 數據庫引擎文檔。
--Create a linked server.
EXEC sp_addlinkedserver txtsrv, 'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:datadistqry',
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=遠程名;UID=用戶(hù);PWD=密碼;'
如果加上參數@catalog,可以指定數據庫
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='遠程服務(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='S1instance1'
例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
--查詢(xún)數據
select * from xiaoming.schooladmin.dbo.agent
--刪除鏈接服務(wù)器登錄映射和鏈接服務(wù)器:
exec sp_droplinkedsrvlogin 'xiaoming' ,'sa'
exec sp_dropserver 'xiaoming'
注意事項:
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
所以不能通過(guò)連接服務(wù)器設置此屬性
into 也存在這樣的問(wèn)題
select * into xiaoming.northwind.dbo.tt from
xiaoming.northwind.dbo.tt
五、設置鏈接服務(wù)器以訪(fǎng)問(wèn)Access數據庫
使用用于 Jet 的 Microsoft OLE DB 提供程序
此示例創(chuàng )建一臺名為 test的鏈接服務(wù)器。
說(shuō)明 本示例假設已經(jīng)安裝 Microsoft Access 和示例 Northwind 數據庫,且
Northwind 數據庫駐留在 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ù)器上裝上訪(fǎng)問(wèn)sybase的客戶(hù)端
--創(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 Server到SYBASE連接服務(wù)器的實(shí)現
作者: CCBZZP
本文的測試環(huán)境為:
操作系統: WINDOWS2000 SERVER (繁體系統)
安裝數據庫: SQLSERVER2000(英文版)和SYBASE8.0客戶(hù)端(英文版)
具體實(shí)現步驟:
1.要求pc機上安裝SYBASE8.0客戶(hù)端軟件和sqlserver2000軟件。
2.配置windows的ODBC數據源:
開(kāi)始菜單―》程式集―》系統管理工具―》資料數據源(ODBC)―》進(jìn)入配置用戶(hù)DSN或者系統DSN均可以:添加―》選擇ADAPTIVE SERVER ANYWHERE8.0―》自定義數據源名稱(chēng)(隨意如: SYBASETEST)―》數據庫名稱(chēng)(必選!)―》OK完成。
3. 選擇剛才配置的數據源名稱(chēng), 再選擇 配置, 跳出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或確認)即可
進(jìn)入CONNECT TO SYBASE DATABASE畫(huà)面:
USER ID: 輸入SYBASE DATABASE的用戶(hù)
PASSWORD: 輸入SYBASE DATABASE的用戶(hù)的密碼
CONNECTION MODE: 可以選擇默認的SHARE模式
選擇OK(確認)即可!
配置和測試ODBC完成!
4.配置sqlserver2000中的連接服務(wù)器:
企業(yè)管理器―》安全性―》連接服務(wù)器―》右鍵新建連接服務(wù)器―》定義連接名稱(chēng); 選其他數據源; 指定程序名稱(chēng)為:SYBASE ADAPTIVE SERVER ANYWHERE PROVIDER8.0; 產(chǎn)品名稱(chēng)可不填; 數據源指定剛才ODBC中定義好的數據源名稱(chēng);提供程序字符串按以下格式填寫(xiě):User ID=username;Password=userpasswd(或者按如下格式:UID=