■通过建立DBLink,MS SQL Server2005连接Oracle服务器,方法如下:本人用的是SqlServer2005,所以以2005版本为例讲述DBLink的创建方法。
1)首先安装Oracle客户端,并创建到服务器的连接,用户名为TEST。
2)在sql server2005的Management Stadio 中ServerObject->LinkedServer->New LinkedServer
3)在新建对话框"常规"选项卡里面, 选择Microsoft ole db provider for oracle驱动. 产品名称为"Oracle", 数据源就是上面建立的网络名称TEST. 提供程序字符串填为 "MSDAORA".
4)在新建对话框"常规"选项卡里面输入该链接服务器取的名称(LINKTEST),"安全性" 选项卡里面, 选择" 用此安全上下文进行:", 输入Oracle中的用户名和密码.
5)如果连接不上,报MSDAORA不能提供连接错误的话,需要把ora81/network/ADMIN/sqlnet.ora文件中的“SQLNET.AUTHENTICATION_SERVICES= (NTS)”注掉。
6)查询方法:
方法一:select *from [LINKNAME]..[USERNAME].[TABLENAME]
方法二:SELECT * FROM OPENQUERY(LINKNAME, 'SELECT * FROM USERNAME.TABLENAME')
注:[LINK]..[USERNAME].[TABLENAME]最好全部大写。
用上面的一长串来查询数据太麻烦了,可以为其创建Synonym。
7)创建Synonym:
a)USE [MASTER] --数据库名
GO
CREATE SYNONYM [dbo].TABLENAME1 FOR [LINKNAME]..[USERNAME].TABLENAME
--TABLENAME1 Synonym名
--LINKNAME DB LINK名
--USERNAME Oracle的用户名
--TABLENAME Oracle中的表名
GO
b)测试
select * from MASTER.dbo.TABLENAME1。