【发布时间】:2014-09-26 15:33:22
【问题描述】:
我有一个奇怪的问题,在 DEV 环境中一切正常,但在 PROD SSIS 中报告有关从 unicode 转换为非 unicode 的错误。此错误发生在 OLE DB 源任务级别。所以,我什至没有机会使用派生列来执行转换。
我们在生产服务器上安装了 BIDS,任务被标记为错误。当我尝试打开属性时,它告诉我元数据与 DTSX 文件中的不同。当我接受自动更正的提议时,所有错误列的输入类型(外部和输出列)的类型都会从 DT_WSTR 切换到 DT_STR。
DEV 和 PROD 中涉及的表的描述相同(列的类型相同)。如果我查询字符集,它们在两个环境中都是相同的。
查询如下:
SELECT *
FROM v$nls_parameters
where parameter
like '%CHARACTERSET'
返回:
NLS_CHARACTERSET WE8MSWIN1252
NLS_NCHAR_CHARACTERSET AL16UTF16
在两种环境中。
有什么办法解决这个问题吗?
谢谢你, 米歇尔
【问题讨论】:
-
闻起来很像您安装/配置了不同版本的驱动程序。很久以前就遇到了与 MySQL 驱动程序类似的问题。 X.Y.Z.13 版本是针对其开发的。服务器获得了驱动程序版本 X.Y.Z.14 和繁荣,无效的元数据。
-
对不起,如果我花时间回答,但你是对的,这是问题所在。非常感谢!