用作业方式将Oracle11g数据同步到Sqlserver2008R2

       本文数据同步的方式需要下载两个安装包:1.ORACLE数据访问组件基础件:ODAC(Oracle Data Access Components)。2.ORACLE数据访问组件客户端:Oracle Data Access Components for Oracle Client11.2.0.3.0。

       首先,ORACLE数据访问组件基础件安装:

       1、到Oracle官方网站下载ODAC安装包,安装ORACLE数据访问组件ODAC(Oracle Data Access Components)。下载下来的安装包名为:

ODAC112040Xcopy_64bit.zip

       2、解压缩这个zip包,把里面的文件都解压到一个文件夹里,我是解压到D:ODAC112040Xcopy_64bit,然后打开cmd,进入到这个文件夹。

这个文件夹里有8个子文件夹,分别是:

            instantclient_11_2:这是Oracle客户端,所有组件的运行都依赖于这个客户端;

            oledb:这是OLE DB组件

            asp.net:这是ASP.NET2组件

            asp.net4:这是ASP.NET4组件

            odp.net4:这是.NET4组件

            odp.net20:这是.NET2组件

            oramts:这是Oracle的MTS服务

            network:这个文件夹不用管,它是用来存放tnsnames.ora文件的,要安装后才能用。

            这里我们需要搞清楚这些组件之间的依赖关系。

            instantclient_11_2是最基础的

            oledb依赖于instantclient_11_2

            asp.net依赖于instantclient_11_2和odp.net20

            asp.net4依赖于instantclient_11_2和odp.net4

            odp.net4依赖于instantclient_11_2

            odp.net20依赖于instantclient_11_2

            oramts依赖于instantclient_11_2

      3、在cmd中运行install.bat批处理文件:输入"install.bat all D:OracleClient ODAC"(不含双引号)。这里有几个参数需要特别注意,这里我们传入了三个参数,但最多可以传入四个。

         第一个参数:all。all代表安装ODAC112040Xcopy_64bit文件夹下所有的组件和客户端。如果你不需要这么多组件,只用到其中一个,比如只用到了OLE DB组件,就可以像下面这样只安装客户端和这一个OLE DB组件:

         install.bat oledb D:OracleClient ODAC

         第二个参数:D:OracleClient。这是安装路径,根据自己的实际情况指定,路径中尽量不要有空格和圆括号。

第三个参数:ODAC。这个叫ORACLE HOME NAME,这个参数也可以自己随便指定一个字符串,不一定非得是"ODAC"。这个参数是用来写入注册表的。比如,上面这条语句执行后,会在注册表的以下位置写入:

         HKLMSoftwareOracleKEY_ODAC

        这"KEY_"后面的ODAC就是你在参数中传入的那个"ODAC"

        第四个参数。一般只用前三个参数就够了,在安装组件的时候会自动把它依赖的组件都安装上,但如果你只想安装指定的组件,不想装它所依赖的组件,这时才会用到第四个参数。比如:当你安装asp.net时,如果只用前三个参数,会自动把它所依赖的odp.net20和instantclient_11_2也安装上,但如果你再传入第四个参数"false",如下:

        install.bat asp.net D:OracleClient ODAC false

        这时就只会安装asp.net,而不会把odp.net20和instantclient_11_2也装上。

      4、设置环境变量

       (1)ORACLE_HOME=D:OracleClient

         (添加一个环境变量ORACLE_HOME,其值为你的安装路径,比如我这里就是D:OracleClient)

       (2)PATH=%ORACLE_HOME%;%ORACLE_HOME%in;

         (在PATH环境变量中添加下面两个路径,用分号隔开:

        %ORACLE_HOME%;%ORACLE_HOME%in;)

         注意:用户变量和系统变量都要设置

      5.配置tnsnames.ora文件

         ora11g=
          (DESCRIPTION =
              (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.180.221)(PORT = 1521))
             )
              (CONNECT_DATA =
              (SERVICE_NAME = orcl)
            )
           )

      其次,ORACLE数据访问组件客户端安装:

      1.安装ORACLE数据访问组件客户端

      到Oracle官方网站下载ORACLE数据访问组件客户端安装包。下载下来的安装包名为:ODAC.zip。解压运行setup.exe按步骤安装客户端。

        安装完成后在【开始】菜单下回显示Oracle - OraClient11g_home1文件夹。

      2. 设置监听文件文本

         在安装目录下的tnsnames.or文件(如:D:ODACInitialsproduct11.2.0client_1NetworkAdminSample nsnames.ora)

          ora11g=
          (DESCRIPTION =
              (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 10.188.180.221)(PORT = 1521))
             )
              (CONNECT_DATA =
              (SERVICE_NAME = orcl)
            )
           )

       3.添加Oracle的OLDB数据源

         运行路径C:WindowsSysWOW64下的odbcad32.exe文件(一定要用这种方式打开ODBC数据源管理器),如图添加数据源:

 

 

 

 

         这样就完成了Oracle的OLEDB数据源的添加了。

       再次,在SQLserver中新建链接服务器

       1.设置访问接口属性

 

        2.新建链接服务器

 

 

       点击确定后,就完成了链接服务器的新建。

       注意:若确定后出现访问OLEDB数据源方面异常可安装HA-Instant Client-v11.2.0.3.0-x64.exe(或32位)后重建链接服务器。

       下载地址 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

 

 

      注意:涉及Oracle和sqlserver数据类型不一致时,必须在脚本里进行转换。如:Oracle中无int类型只有number类型,所以必须转换。

 

 

 

         注意:启动作业出现错误,则可在查看历史记录中查找错误,如下图:

       关键点:安装Oracle驱动和Oracle客户端、添加Oracle的OLEDB数据源

       参考文章:

       http://blog.csdn.net/hbqhdlc/article/details/8646315

       http://jingyan.baidu.com/article/0bc808fc7ea4d71bd585b968.html?qq-pf-to=pcqq.c2c

       http://wenku.baidu.com/view/59bc05f0f121dd36a32d82ed.html?qq-pf-to=pcqq.c2c

       http://wenku.baidu.com/link?url=4vAxJStVKDm72M4B4Y0QQ5PThVqWmEDo-ta2JF2xuN5QpLbf6RSvus0esHXagb9yT2Ntw_sPVRaZNbyScD8JLhgfuHijSHfX2EW4MIB4lHa&qq-pf-to=pcqq.c2c

好的代码像粥一样,都是用时间熬出来的
原文地址:https://www.cnblogs.com/jijm123/p/13459994.html