社区
应用实例
帖子详情
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,还是搞不定
...全文
878
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)
MS-
SQL
Server
基础类 -
SQL
语句
数据库
帖子收集
这样的数据列表在存储过程中应该怎么样选择得到? 请问造成
SQL
2000
服务不能启动的原因有哪些?
sql
server
中有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的一个业务逻辑!都要处理哪些内容!需要每月进...
COM和
数据库
如何手动把ACTIVEX控件天家到窗口中?求教:我一个activex控件要处理PreTranslateMessage,这个控件如果是插入在一个dialog上就正常,如果在一个view中用create创建控件的PreT如何将activex control中的类导出?请进!up有分!VC开发的带有dispatch的com服务器如何返回一个数组给vbscript,或者javascript实现OLE容器N
CSDN论坛面试经验和面试题集锦
CSDN论坛面试经验和面试题集锦 面试经验 综合/算法 C/C++/VC MS-
SQL
Server
Java .NET技术
Oracle
其他
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx 怎样将后台生成的在内存中的图象显示到客户端 Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接到下一页显示数据 下载中文名
应用实例
27,580
社区成员
68,545
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章