SSIS用来跨数据库中间进行数据同步,比如 Oracle=》MySQL 或者 SQLserver =》 MySQL
这里我们只有Oracle,所以测算 Oracle=》Oracle
首先确定在 Oracle配置文件 tnsnames.ora 里面有你需要的DB配置,比如 TTT 是DB 别名,XXX是DB实例名,127.0.0.1 是DB所在的服务器,1521是端口
TTT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT=1521))
)
(CONNECT_DATA =
(SERVICE_NAME =XXX)
)
)
新建ODCB
第一步 打开32位ODBC ,点击新增
注意我们可以设定在使用者资料来源里面,也可以设定在系统资料来源里面。但是需要 确认SQLserver所在的用户与设定ODCB的用户是同一个。
所以最好在系统资料来源名称里面设定,这样所有用户都可以使用。
第二步 点击新增,选择我们需要连接的数据库类型,这里选择本机按照的Oracle驱动(Oracle安装完成后自动就会有)
第三步
设定我们需要的DB,Data Source Name 我们可以自定义,TNS Service Name 是我们在tnsnames.ora里面设定的别名
点击 Test Connection ,输入账号密码可以测试DB是否连通
新建SSIS
第一步,新建项目
第二步
点击确认生成一个项目,如图
下一步 既可以在默认dtsx里面修改,也可以自己新建一个
下一步 选择project 右击 Properties,修改 Run64 从TRUE 改为 FALSE
不然在SQLserverJOB运行时会报错
设定流程
Control Flow 用户设定控件流程,可以添加Execute SQL Task,用来执行单SQL。
也可以拖拽一个 Data Flow Task ,双击打开后,在 Data Flow 里面设定 数据库Data 同步流程
在这里只是简单设定一个Data Flow,双击打开
在 Data Flow 里面拖拽 数据源 ODBC Source 和 数据需要同步到哪里去 ODBC Destination
双击ODBC Source 进行配置,第一次使用的话,还需要设定ODBC Connection
点击New出现下面页面,选择 下拉框中你设定的ODCB,输入账号密码,点击Test进行验证
成功建立 ODBC后,数据源可以选择表或者 一个 SQL 抓出来的数据。可以点击 Parse Query 检测SQL是否有异常。也可以点击Preview查看数据
设置 ODBC Destination 类似,不过我们需要选择一个表
在这里我们可以尝试选择 DTSX,右击 execute,手动执行试试
执行成功时下面这个页面,注意 项目一定要设定 非 64 位run,与 ODBC设定的要一致。
接下来,我们要设定 SQLserver JOB运行
新建一个JOB,类别选择 Integration Services Project
package source 选择 File system,以及dtsx 所在的目录
执行选项中,设定以32位运行
点击确认即可。
注意,有的时候会发生异常。比如0x8009000B "機碼用在特定狀態時無效
这个可以看我的另外一篇
https://www.cnblogs.com/JerryZhang320/p/15625567.html