怎样在server2000中创建链接服务器访问oracle数据库呢?
服务器A 数据库是sql2000,数据库名CheLiang
服务器B 数据库是oracle, 数据库名ShenBao
我想实现当CheLiang某个表记录状态改变时
同步更新ShenBao某个表的记录状态,所以我想在sql2000中建立链接服务器
但是小弟怎么建立都不行,不知道是不是里面的属性填写不正确。
建立之后出现如下的错误:
错误 7399:OLE DB 提供程序 'MSDAORA' 报错。
数据源填写什么呢?填写dns名称还是ip地址呢
提供程序字符串要不要填写呢,是填什么的?
请有经验的大哥指点迷惑,期待。oracle数据库相关信息 用户名:SFHacs 口令:acs_password 数据库名:orcl_36 ip:10.0.0.36
服务器A 数据库是sql2000,数据库名CheLiang
服务器B 数据库是oracle, 数据库名ShenBao
我想实现当CheLiang某个表记录状态改变时
同步更新ShenBao某个表的记录状态,所以我想在sql2000中建立链接服务器
但是小弟怎么建立都不行,不知道是不是里面的属性填写不正确。
建立之后出现如下的错误:
错误 7399:OLE DB 提供程序 'MSDAORA' 报错。
数据源填写什么呢?填写dns名称还是ip地址呢
提供程序字符串要不要填写呢,是填什么的?
请有经验的大哥指点迷惑,期待。oracle数据库相关信息 用户名:SFHacs 口令:acs_password 数据库名:orcl_36 ip:10.0.0.36
1.通过行集函数opendatasource
select * from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR ORACLE的驱动,
用户名和表名一定要大小,服务器和用户名之间是两个点;并且User ID和要查询的用户名必须是一样的,不能以其他用户名登陆2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A
order by A.ID
使用这种方式一定要用别名才行3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver', --链接服务器名称
@srvproduct='Oracle', --固定
@provider='MSDAORA', --固定
@datasrc='XST4' --oracle本地服务名设置链接服务器的远程登陆数学,在安全性页面中选中“用此安全上下文进行”
select * from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL该作怎样的修改呢?还有
MISD.PBCATCOL是什么意思呢?
create TRIGGER NoteOracle
ON 通行记录表
AFTER INSERT, UPDATE, DELETE
AS
select * from opendatasource('MSDAORA', 'Data Source=orcl_36;User ID=SFHACS;Password=acs_password')..SFHACS.[DECLARE]
我创建了一个触发器,目的是当我修改了sql中通行记录表的状态时,会把oracle数据库中表DECLARE中的记录select出来,但是会出错
出现的错误如下:
该操作未能执行,因为 OLE DB 提供程序 'MSDAORA' 无法启动分布式事务
这个问题折腾了我一整天了,万分期待各位大哥帮忙指点