SSIS连接Oracle问题汇总
Posted ykagile
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS连接Oracle问题汇总相关的知识,希望对你有一定的参考价值。
一、未安装Oracle客户端
错误提示:Test connection failed because of an error in initializing provider. 未找到 Oracle 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 7.3.3 版(或更高)客户软件安装的一部分。在安装这些组件之前,将无法使用此提供程序。
出现这个提示的原因是没有安装oracle客户端,SSIS连接Oracle数据源必须要安装客户端才能连接成功。
二、服务器名错误
错误提示:由于在初始化提供程序时出错,导致连接测试失败。ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME
解决方法:服务器名要与安装文件中tnsnames.ora中的自定义命名一致,例如:我这里的自定义命名为ORACLE,那么在连接oracle时中的服务器名就必须填写oracle(不区分大小写)
三、数据类型不支持
错误提示:
异常来自 HRESULT:0xC0202009
数据流任务 [OLE DB 源 [1]] 出错: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft OLE DB Provider for Oracle” Hresult: 0x80004005 说明:“发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。”。
已获得 OLE DB 记录。源:“Microsoft OLE DB Provider for Oracle” Hresult: 0x80004005 说明:“数据类型不被支持。”。
数据流任务 [OLE DB 源 [1]] 出错: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft OLE DB Provider for Oracle” Hresult: 0x80004005 说明:“发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。”。
已获得 OLE DB 记录。源:“Microsoft OLE DB Provider for Oracle” Hresult: 0x80004005 说明:“数据类型不被支持。”。
原因说明:Oracle数据源在SSIS中不支持日期类型的数据
解决方法:将日期类型转换为字符串,如:select to_char(FBEGINDATE,‘yyyy-mm-dd hh24:mi:ss‘) as FBEGINDATEFENDDATE from T_BD_PERIOD
四、字符串代码页值不正确
警告提示:
该组件发出了以下警告:
{1BE60367-95D6-490F-B46A-5C982C6953F3} [OLE DB 源 [1]] 发出警告: 无法从 OLE DB 访问接口检索列代码页信息。如果该组件支持“DefaultCodePage”属性,将使用来自该属性的代码页。如果当前的字符串代码页值不正确,请更改该属性的值。如果该组件不支持该属性,将使用来自该组件的区域设置 ID 的代码页。
解决方法:单击右键》属性》修改AlwaysUseDefaultCodePage为True(默认为false)
文章持续更新中~~~
注:该文章仅记录本人在写程序过程中遇到的一些问题以及相应的解决方案,若有错误或表述不妥之处欢迎大家指出
以上是关于SSIS连接Oracle问题汇总的主要内容,如果未能解决你的问题,请参考以下文章