You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL导入向导无法映射Oracle数据类型139的技术求助

Oracle OLEDB导入SQL Server时类型139转换失败的解决办法

通过Oracle Provider for OLE DB将Oracle表导入SQL Server时,遇到源列类型为139的转换问题。预览数据都是数字(如'93'、'1006'、'313176'),尝试映射到INT、FLOAT、NUMERIC、VARCHAR均失败,报错显示SSIS无法识别该类型,转换步骤提示“转换未知”。

报错详情:

[源信息] 源提供程序: OraOLEDB.Oracle.1 列类型:139 SSIS类型: (未知类型...) 映射文件(至SSIS类型):C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE\CommonExtensions\Microsoft\SSIS\160\MappingFiles\OracleToSSIS10.XML
[目标信息] 目标提供程序: SQLNCLI11 列类型: int SSIS类型: 四字节有符号整数 [DT_I4] 映射文件(至SSIS类型): C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE\CommonExtensions\Microsoft\SSIS\160\MappingFiles\MSSQLToSSIS10.XML
[转换步骤] 转换未知... SSIS转换文件:C:\Program Files (x86)\Microsoft SQL Server Management Studio 19\Common7\IDE\CommonExtensions\Microsoft\SSIS\160\binn\DtwTypeConversion.xml

解决办法

  • 确认Oracle字段的真实类型
    Oracle类型代码139对应CHAR(固定长度字符),可能是字符集或字段属性导致SSIS识别异常。在Oracle端执行以下查询确认字段详情:

    SELECT data_type, data_length, char_used 
    FROM all_tab_columns 
    WHERE table_name = '你的目标表名' AND column_name = '出问题的列名';
    
  • 修改SSIS类型映射文件
    找到报错里的OracleToSSIS10.XML文件,编辑它,在<DataTypeMappings>节点内添加类型139到SSIS字符串类型的映射:

    <DataTypeMapping>
      <SourceDataType>
        <DataTypeName>139</DataTypeName>
      </SourceDataType>
      <DestinationDataType>
        <SSISDataType>DT_STR</SSISDataType>
        <Length>填写字段实际长度</Length>
      </DestinationDataType>
    </DataTypeMapping>
    

    保存文件后重启SSMS,再尝试导入操作。

  • 用SQL查询显式转换字段类型
    不直接选择Oracle表,而是写SQL语句把问题列转换为SSIS可识别的类型,比如:

    -- 转换为数字类型
    SELECT CAST(问题列名 AS NUMBER) AS 问题列名 FROM 你的表名;
    -- 或者转换为字符类型
    SELECT TO_CHAR(问题列名) AS 问题列名 FROM 你的表名;
    

    之后将转换后的列映射到SQL Server的对应类型即可。

  • 更换Oracle数据提供程序
    如果OLEDB Provider兼容性不佳,试试改用ODBC Driver for Oracle或Oracle Data Provider for .NET (ODP.NET)作为数据源,这些工具对Oracle类型的识别更准确。

内容的提问来源于stack exchange,提问作者kaspar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:09:59