SSIS连接Oracle问题汇总
一、未安装Oracle客户端
出现这个提示的原因是没有安装oracle客户端,SSIS连接Oracle数据源必须要安装客户端才能连接成功。
二、服务器名错误
解决方法:服务器名要与安装文件中tnsnames.ora中的自定义命名一致,例如:我这里的自定义命名为ORACLE,那么在连接oracle时中的服务器名就必须填写oracle(不区分大小写)
三、数据类型不支持
错误提示:
数据流任务 [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
四、字符串代码页值不正确
警告提示:
解决方法:单击右键》属性》修改AlwaysUseDefaultCodePage为True(默认为false)
五、数据源连接失败
错误提示信息:
[OLE DB 源 [45]] 错误: SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“oracle.cyeas”的 AcquireConnection 方法调用失败,错误代码为 0xC0209303。可能在此之前已经发出错误消息,提供了有关 AcquireConnection 方法调用失败原因的详细信息。
错误截图如下
这个错误是刚新建一个项目时经常遇到的,解决方法很简单,如下操作即可
1.选中项目单击右键,选择“属性”
2.配置属性——调试——调试选项
将Run64BitRuntime的属性改为False(默认为True)
六、数据源连接失败
Test connection failed because of an error in initializing provider. ORA-12154: TNS:could not resolve the connect identifier specified
无法解析指定的连接标识符(或称为TNS名称)。这个问题通常是因为tnsnames.ora文件中不存在所请求的TNS名称,或者该文件不在正确的目录中,或者文件格式不正确。
解决方案:在tnsnames.ora文件中加上连接信息,连接名与服务器名保持一致,例如我这里的连接服务器名都是GBWL_View
文章持续更新中~~~
注:该文章仅记录本人在写程序过程中遇到的一些问题以及相应的解决方案,若有错误或表述不妥之处欢迎大家指出