社区
应用实例
帖子详情
SQL SERVER2000访问ORACLE数据库问题(高分求救)
zdq801104
2005-05-11 11:33:19
RT,SQL SERVER2000版本是中文企业版,ORACLE版本是9.2。
找了以前别人的帖子就是不行。俺的QQ:178758908,拜谢!
参照:http://search.csdn.net/Expert/topic/2296/2296165.xml?temp=.7055475,还是搞不定
...全文
1005
22
打赏
收藏
SQL SERVER2000访问ORACLE数据库问题(高分求救)
RT,SQL SERVER2000版本是中文企业版,ORACLE版本是9.2。 找了以前别人的帖子就是不行。俺的QQ:178758908,拜谢! 参照:http://search.csdn.net/Expert/topic/2296/2296165.xml?temp=.7055475,还是搞不定
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zdq801104
2005-05-13
打赏
举报
回复
该揭贴的时候了
zdq801104
2005-05-12
打赏
举报
回复
也非常感谢RamjetZhang(万花从中一点红,玉树临风王小桃是也),假如我要访问或调用里面的包或者存储过程那要怎么搞呢?再请帮帮忙。
RamjetZhang
2005-05-12
打赏
举报
回复
偶的做法:
1. sql server端安装oracle客户端,配置tns name;
2. 如下(不必加ODBC)
--添加oracle linked server
exec sp_addlinkedserver
@server = 'HIS',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'foo'--oracle tns name
--添加login,oracle那边的用户名、密码
exec sp_addlinkedsrvlogin
'HIS', false, null, 'foo', 'bar'
--允许RPC调用,以执行存储过程;
exec sp_serveroption N'HIS', N'rpc', N'true'
3. (可能需要重启sql server)
访问方式OpenQuery(对于简单返回结果集的建议用OpenQuery,回传的数据量比较少,效率比较高):
select * from
OpenQuery
(
HIS,
'select terminal, machine, OSUSER, program,
SQL_HASH_VALUE, logon_time, status
from v$session
where type = ''USER''
'
)
或者四段式query,对执行存储过程这个比较方便,效率类同OpenQuery(某些复杂的存储过程用OpenQuery+ExecSQL做的天昏地暗,有些根本没法执行,但用四段query就很方便);
select * from HIS..SCOTT.[USERS] --LinkSvrName..Owner.TableName
zdq801104
2005-05-12
打赏
举报
回复
真的不?我跟领导说说就可以了,我QQ是178758908,可以联系我。^_^,顺注:(我们是中外合资企业,规模还不小,钱也不会少的)
zjcxc
2005-05-12
打赏
举报
回复
有啊 :D
zdq801104
2005-05-12
打赏
举报
回复
如果用建系统DNS的话,用ODBC FOR ORACLE会报错,通不过,用ORACLE IN ORAHOME92就可以了, zjcxc(邹建)大哥,你真厉害!我们单位正在找人培训这个呢,如果你能来给我们培训培训就好了,有兴趣不?^_^!
zdq801104
2005-05-12
打赏
举报
回复
那先再试试
zdq801104
2005-05-12
打赏
举报
回复
解决了,我没有用执行分析器来建,直接在链接服务器那里搞,用跟踪出来的执行存储过程是
exec sp_addlinkedserver
N'HERO' , --链接名
@srvproduct = N'' ,
@provider = N'MSDAORA' ,
@datasrc = N'AS11'--服务器名
zjcxc
2005-05-12
打赏
举报
回复
验证失败这个正常嘛(前面报的未发现数据源名称并且未指定默认驱动程序)这个就不正常了.
你再为链接服务器添加登录的验证信息:
EXEC sp_addlinkedserver
@server = 'test', --链接服务器名
@srvproduct = '',
@provider='MSDASQL',
@datasrc='abc' --连接ORACLE的系统DSN名
--添加登录用户
EXEC sp_addlinkedsrvlogin 'test','false',null,'用户名','密码'
SELECT *
FROM OPENQUERY(test, 'SELECT name, id FROM joe.titles')
zdq801104
2005-05-12
打赏
举报
回复
还是要请 zjcxc(邹建) 大哥帮忙
zdq801104
2005-05-12
打赏
举报
回复
我用了ODBC FOR ORACLE驱动,根本就没有测试的选项,也没有保存密码的选项
报错:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MSDASQL' 报错。验证失败。
[OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败]
[OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败]
[OLE/DB provider returned message: [Microsoft][ODBC driver for Oracle][Oracle]ORA-01017: 无效的用户名/口令;拒绝登录]
zdq801104
2005-05-12
打赏
举报
回复
我建了一个系统DSN,选择的驱动是ORACLE IN ORAHOME92,测试是通过了,但是找不到选项来保存ORACLE密码。
报错:
OLE DB 提供程序 'MSDASQL' 报错。验证失败。
[OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败]
[OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败]
[OLE/DB provider returned message: [Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied
]
zdq801104
2005-05-11
打赏
举报
回复
前面这两步是可以通过,剩下的改怎么做?请zjcxc(邹建)再帮帮忙
zdq801104
2005-05-11
打赏
举报
回复
谢谢zjcxc(邹建)大哥,我先试试
zjcxc
2005-05-11
打赏
举报
回复
下面的步骤能完成吗?
在sql server服务器上安装oracle客户端
然后在sql server服务器的控制面板--管理工具--数据源(ODBC)中,新建一个系统DSN,连接到oracle,并且在最后完成的步骤中能够测试通过.
Comer
2005-05-11
打赏
举报
回复
zjcxc(邹建)老大真强
佩服得五体投地
zjcxc
2005-05-11
打赏
举报
回复
你是创建了用户DSN吧? 一定要系统DSN才行.
zdq801104
2005-05-11
打赏
举报
回复
我在里面执行的代码是这样的
EXEC sp_addlinkedserver
@server = 'test', --链接服务器名
@srvproduct = '',
@provider='MSDASQL',
@datasrc='abc' --连接ORACLE的系统DSN名
SELECT *
FROM OPENQUERY(test, 'SELECT name, id FROM joe.titles')
abc我我测试过是通的,DNS的驱动我选择的是ORACLE in OraHome92
-------------------------------------------------------------------
报错是:
服务器: 消息 7399,级别 16,状态 1,行 7
OLE DB 提供程序 'MSDASQL' 报错。
[OLE/DB provider returned message: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序]
请zjcxc(邹建)大哥再看看。
zjcxc
2005-05-11
打赏
举报
回复
没可能,除非你指定的<系统DSN名称>不正确
zdq801104
2005-05-11
打赏
举报
回复
错误提示:“OLE DB提供程序“MSDASQL”报错,未发现数据源名称并且为指定默认驱动程序”
加载更多回复(2)
通过数据链接(Database Link),从
Oracle
10g 连接
SQL
Server
2000
(实例)
本文档详细介绍了如何通过透明网关在
Oracle
10g中配置数据链接(Database Link)以连接
SQL
Server
2000
。首先,需要下载并安装透明网关插件,然后配置透明网关、监听器、tnsnames.ora和
sql
net.ora文件。最后,通过
sql
plus建立并测试Database Link,确保连接成功。
oracle
database gateway 下载,实战
oracle
gateway
访问
sql
server
2000
数据库
本文详细指导了如何在
Oracle
环境中通过
Oracle
gateway连接到
SQL
Server
2000
,涉及软件安装、参数配置、监听管理及网络服务名设置,最终实现跨
数据库
查询的测试连接。
SQL
SERVER
2000
使用链接服务器操作
ORACLE
数据库
本文介绍如何使用
SQL
Server
2000
通过链接服务器操作
Oracle
数据库
的方法,包括配置步骤及
SQL
语句示例。
Oracle
访问
Sql
Server
本文详细介绍了如何配置
Oracle
以通过透明网关
访问
SQL
Server
,包括在
SQL
Server
上创建用户并授权,安装和配置
Oracle
透明网关,修改相关配置文件如init文件、listener.ora和tnsnames.ora,以及设置
数据库
参数和创建
数据库
链接。最后提到了可能出现的错误及解决办法。
SQL
Server
2000
XML 概述
本文讲述了
SQL
Server
2000
中的XML功能及与
Oracle
的功能比较。XML为不同应用和系统的数据交换与集成提供机制,
SQL
Server
2000
提供多种XML功能,如HTTP
访问
、FOR XML等。与
Oracle
相比,
SQL
Server
2000
在多方面有优势,如提供简单公开机制、直接生成XML等。
应用实例
27,579
社区成员
68,548
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章