SQL SERVER 链接服务器问题我要连一个oracle 数据库,它的监听文件HSTREP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.14.237)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)sql server 中运行的:--1、建立链接数据库 sp_addlinkedserver 'ORALINK', 'Oracle', 'MSDAORA', 'ORADB' GO EXEC sp_addlinkedsrvlogin @rmtsrvname='ORALINK',@useself='false',@locallogin='sa',@rmtuser='user',@rmtpassword='111' --2、查询数据 SELECT * FROM oralink..USER.ITEM我要访问oralce 中的USER用户下的item表,提示
链接服务器"oralink"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-12154: TNS: 无法处理服务名
"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "oralink" 的 OLE DB 访问接口 "MSDAORA" 的数据源对象。用PL/SQL DEVELOPER 能正常登录Orcal数据库,继续高手解决。
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.14.237)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)sql server 中运行的:--1、建立链接数据库 sp_addlinkedserver 'ORALINK', 'Oracle', 'MSDAORA', 'ORADB' GO EXEC sp_addlinkedsrvlogin @rmtsrvname='ORALINK',@useself='false',@locallogin='sa',@rmtuser='user',@rmtpassword='111' --2、查询数据 SELECT * FROM oralink..USER.ITEM我要访问oralce 中的USER用户下的item表,提示
链接服务器"oralink"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-12154: TNS: 无法处理服务名
"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "oralink" 的 OLE DB 访问接口 "MSDAORA" 的数据源对象。用PL/SQL DEVELOPER 能正常登录Orcal数据库,继续高手解决。
1、以管理员的用户登录;
2、找到ORACLE_HOME文件夹(我的是C:"oracle"ora92),点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;
3、重新启动计算机,让权限设置生效(请注意,这一步很重要);
4、登录后运行asp.net应用,正常取得Oracle数据库的数据。
2、展开对象资源管理器
3、选择“服务器对象”,展开,选择“链接服务器”
4、右键“新建链接服务器”,打开新建链接服务器窗口
5、输入链接服务器名,选择“其他数据源”下的“访问接口”,就是你的Oracle驱动,并设置数据源为Oracle的IP或机器名
6、在“安全性”页面中,点击“新建”,在“本地登录”中输入SQL Server的某个用户,然后在“远程用户”中输入Oracle的用户名,“远程密码”中输入Oracle用户名的密码
7、确定即可,然后用openquery()函数访问Oracle。
查看 tnsnames.ora文件的设置.
改tnsnames.ora文件中的配置,但试了很多也不行,最后打开了sqlnet.ora中的文件发现了问题所在, XML code # SQLNET.ORA Network Configuration File: f:\oracle\ora90\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
并却下面是什么意思,谢谢
XML code # SQLNET.ORA Network Configuration File: f:\oracle\ora90\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)