我们知道SQL Server在2005以后提供了DTS导出数据功能,可以将SQL Server数据库端数据导入到SQL Server,MySQL,Excel,Access以及Oracle等我们常用的数据库。然而在SQL Server 2005 Express 2005版本上没有这个功能,也就不能完成SQL Server 端数据导入到Oracle数据库中。这时候我们有什么办法可以解决SQL Serve数据导入到Oracle数据库中的需求呢?我们很简单会想到写一个控制台应用程序,从SQL Server端数据库中获取数据后遍历导入到Oracle数据库中;还有一个方法是数据库端直接数据交互。
这里我给大家讲述一下关于【数据库端直接交互】。数据库端直接交互分为三步:第一建立SQL Server跟Oracle的访问接口;第二写实现逻辑数据的从SQL Server数据库的获取并写入Oracle数据库端的存储过程;第三用SQL Server的作业任务来建立定时导入到Oracle数据库端的作业任务(或用第三方的工具,具备Windows自带的计划任务即可,由于鄙人在实现该方案时借用功能内部产品DataServer来建立作业任务调用第二步中所建立的存储过程)。
第一步:DBLink的建立:
SQL Server数据库跟Oracle数据库端数据直接交互,我们知道可以通过OpenQuery(DBLink,Sql Query)当Sql Query是从Oracle端某具体表中拿数据时,就可以完成SQL 数据库中从Oracle数据库中获取数据。这里面有很重要的一个通道BDLink,微软为MS SQL Server数据跟Oracle数据交互提供了一个借口为【Microsoft OLE DB Provider for Oracle】的访问接口。关于链接服务器属性设置如下图所示:
&nbs