在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
数据库的Oracle版本为10.2,并安装在Linux系统上。
数据库SQL Server的版本是SQL 2005,已安装在Windows XP系统上。
现在我们需要做的是在两个数据库表之间同步数据。
现在,最初的想法是通过ODBC实现Oracle数据库对SQL Server数据库的访问,以及通过在SQL Server库上创建数据库链接来实现SQL Server对Oracle数据库的访问。当两个库可以相互通信时,请在两个库中写入存储过程以同步表数据。
(想问大家,以上想法可行吗?有什么更好的建议吗?期待…..)
当我在SQL Server数据库上创建链接时,准备查询数据时发生以下错误:
OLE DB访问接口” MSDAORA \\”链接服务器的” LINK_ORA \ quot;返回消息” ORA-12154:TNS:无法解析指定的连接标识符
\ quot;。
消息7303,级别16,状态1,第1行
无法初始化OLE DB提供程序的数据源对象。 MSDAORA \\”链接服务器的” LINK_ORA”;”。
我的相关步骤如下:
exec sp_addlinkedserver” link_ora”,” Oracle”,” MSDAORA”,”连接到Oracle数据库的网络服务名称”;
exec sp_addlinkedsrvlogin” link_ora”,false,” sa”,” SCOTT”,” scott”;
SELECT * FROM LINK_ORA..SCOTT.EMP;
我想问一下,是什么原因导致上述错误?
oracle数据库网关
Oracle透明网关能否实现Oracle与SQL Server之间的相互访问?还是只能从Oracle访问SQL Server,而不能从SQL Server访问?
看着
billandc发表于2011-12-5 13:40
看看
乍一看,您知道这是十三岁。
此帖子最后由cdx0927编辑于2011-12-5 14:49
表数据同步的黄金数据
带有网关的oracle访问sql服务器
sql服务器访问oracle似乎有工具来了,您在找它
cdx0927发表于2011-12-5 14:46
表数据同步的黄金数据
带有网关的oracle访问sql服务器
sql服务器访问oracle似乎有工具来了,您在寻找…
谢谢U.Sql服务器通过DBLink访问Oracle。
本帖最后由xing2999于2011-12-9 11:20编辑
上面的问题是SQL Server服务器上没有安装Oracle客户端,这导致无法解析配置的连接字符串。
旧的问题解决了,新的问题又出现了。
现在,我计划用SQL Server编写触发器以同步Oracle表
=======================
触发器如下:
在[DBO]上创建触发器[TEST_INSERT]。 [测试]插入
AS
-将在TEST上执行的DML操作记录到TEST_DML表中
插入DBO.TEST_DML(MODIEDID,ID,NAME,ISEXEC)
从插入中选择” 1″,ID,名称,” 0″;
—同步到Oracle
插入OPENQUERY(TESTORACLE,”选择ID,来自SAME_TEST的名称”)
SELECT ID,NAME从TEST_DML,其中MODIEDID =” 1″;
UPDATE TEST_DML SET ISEXEC =” 1″ WHERE MODIEDID =” 1″;
=============================================== ==== ===========
编写触发器时,当我尝试将数据插入SQL SERVER上的TEST表中时,报告以下错误:
消息7391,级别16,状态1,进程TEST_INSERT,第9行
由于OLE DB提供程序” MSDAORA”无法启动分布式事务,因此无法执行该操作。
但是删除触发器的以下语句并成功执行:
—同步到Oracle
插入OPENQUERY(TESTORACLE,”选择ID,来自SAME_TEST的名称”)
SELECT ID,NAME从TEST_DML,其中MODIEDID =” 1″;
现在,删除与Oracle同步的语句。您如何告诉SQL保持SQL Server和Oracle一致?这并不意味着先前的工作是徒劳的。
你遇到这个问题了吗?期待…….
触发器跟踪更改信息,然后根据更改信息同步到oracle
microsoft_fly发表于2011-12-9 11:23
触发器跟踪更改信息,然后根据更改信息同步到oracle
我在SQL Server上创建的表TEST_DML是否与跟踪更改信息相同?