SqlServer 和Oracle 数据库同步问题

时间:2021-03-31 13:21:54
我是个oracle新手,以前用的是SqlServer,想实现SqlServer 和Oracle之间的数据库读写,该怎么做?
在oracle上创建dblink,SqlServer能访问 和  写入数据吗?dblink不是只能在oracle之间读写数据吗?
SqlServer的链接服务器能访问和 写入 oracle吗?

或者我写一个winform之类的小程序,开一个线程,来定时读写两边的数据库,这个方法能实现吗?

6 个解决方案

#1


可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135

#2



你可以用sql server里的链接服务器,连接到oracle,然后就可以进行各种操作,还可以执行存储过程。

#3



另外,我的文章里是一台机器上的 sql server 和 oracle,如果你的sql server要连接远程的oracle,只要在sql server上安装一个oracle的客户端程序就可以,然后配置一下tnsnames.ora文件,我的oracle是安装在windows下,路径是:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

#4


引用 3 楼 yupeigu 的回复:
另外,我的文章里是一台机器上的 sql server 和 oracle,如果你的sql server要连接远程的oracle,只要在sql server上安装一个oracle的客户端程序就可以,然后配置一下tnsnames.ora文件,我的oracle是安装在windows下,路径是:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

 我在sqlserver的链接服务器上,连接到了oracle服务器,怎么看不见oracle登录用户创建的表,只看到一个Default的文件夹,里面没有我在oracle创建的表。
在oracle上,我是先用sys创建用户a,授于dba的权限;再创建了一个表空间 aspace,并设置为默认表空间;然后用a登录,用a创建了几个表。这个步骤不对吗?为什么在sqlserver上看不到

#5


引用 1 楼 yupeigu 的回复:
可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135



连接上了,数据库表也能读写。但是如何实现数据类型的转换呢?求教!

#6


引用 5 楼 chuyi1199 的回复:
Quote: 引用 1 楼 yupeigu 的回复:

可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135



连接上了,数据库表也能读写。但是如何实现数据类型的转换呢?求教!


数据类型转换,就得你直接用cast函数直接转化,这个比较费力

#1


可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135

#2



你可以用sql server里的链接服务器,连接到oracle,然后就可以进行各种操作,还可以执行存储过程。

#3



另外,我的文章里是一台机器上的 sql server 和 oracle,如果你的sql server要连接远程的oracle,只要在sql server上安装一个oracle的客户端程序就可以,然后配置一下tnsnames.ora文件,我的oracle是安装在windows下,路径是:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

#4


引用 3 楼 yupeigu 的回复:
另外,我的文章里是一台机器上的 sql server 和 oracle,如果你的sql server要连接远程的oracle,只要在sql server上安装一个oracle的客户端程序就可以,然后配置一下tnsnames.ora文件,我的oracle是安装在windows下,路径是:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

 我在sqlserver的链接服务器上,连接到了oracle服务器,怎么看不见oracle登录用户创建的表,只看到一个Default的文件夹,里面没有我在oracle创建的表。
在oracle上,我是先用sys创建用户a,授于dba的权限;再创建了一个表空间 aspace,并设置为默认表空间;然后用a登录,用a创建了几个表。这个步骤不对吗?为什么在sqlserver上看不到

#5


引用 1 楼 yupeigu 的回复:
可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135



连接上了,数据库表也能读写。但是如何实现数据类型的转换呢?求教!

#6


引用 5 楼 chuyi1199 的回复:
Quote: 引用 1 楼 yupeigu 的回复:

可以参考这个:

64位的机器:SQL Server中查询ORACLE的数据
http://blog.csdn.net/sqlserverdiscovery/article/details/21175135



连接上了,数据库表也能读写。但是如何实现数据类型的转换呢?求教!


数据类型转换,就得你直接用cast函数直接转化,这个比较费力