又一次在项目中用到了在SQLServer添加Oracle链接服务器,发现之前文章写的也不太好使,那就再总结一次吧。
1、安装OracleClient
安装64位,多数SQLServer是64位,所以OracleClient也安装64位的;
再一个一般安装的Oracle11g
2、修改tnsnames.oRA
添加需要链接Oracle数据的连接串,如:
test =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =Oracle数据库服务器ip或机器名)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = Oracle服务ID)
)
)
3、尝试通过SQLDeveloper连接
这个需要安装java,运行SQLDeveloper需要选择java.exe路径,而且这里需要是32位的java SDK
这个时候可能会提示“ORA-12638: 身份证明检索失败”,需要修改sqlnet.ora
这是由于Oracle的认证方式导致的,使用了本地操作系统认证(NTS),修改为口令文件认证(NONE)即可
这个时候SQLDeveloper可以正常登录了
4、SQLServer创建链接服务器
其中:提供程序选择Oracle那一项,产品名称填写Oracle,数据源填写tnsnames.oRA配置的连接名,访问接口字符串空着。
左侧点击“安全性”,右边选择使用此安全上下文建立连接,输入连接Oracle数据的账户、密码。
确定,但是连接可能提示“无法从链接服务器"TEST"的 OLE DB 访问接口OraOLEDB.Oracle"获取所需的接口
访问接口--Oracle Provider for OLE DB,勾选允许进程内,问题解决。