Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在导入SSIS项目后修复转换错误_Ssis_Type Conversion - Fatal编程技术网

如何在导入SSIS项目后修复转换错误

如何在导入SSIS项目后修复转换错误,ssis,type-conversion,Ssis,Type Conversion,我正在从TFS导入一个工作正常的SSIS项目 实际上,我对所有包含日期导入数据流的包都有问题 我发现了很多这样的错误: 验证错误。DFT Get Date ODBC源代码DATE2[63]:OLE DB适配器使用的OLE DB提供程序无法在类型“DT_BYTES”和“DT_DBDATE”之间转换为“Date” 当我单击odbc源代码编辑器时,我看到以下消息: 以下输出列的元数据与输出列关联的外部列的元数据不匹配: 输出“ODBC源输出”:“日期” 是否要将输出列的元数据替换为外部列的元数据 事实

我正在从TFS导入一个工作正常的SSIS项目

实际上,我对所有包含日期导入数据流的包都有问题

我发现了很多这样的错误:

验证错误。DFT Get Date ODBC源代码DATE2[63]:OLE DB适配器使用的OLE DB提供程序无法在类型“DT_BYTES”和“DT_DBDATE”之间转换为“Date”

当我单击odbc源代码编辑器时,我看到以下消息:

以下输出列的元数据与输出列关联的外部列的元数据不匹配:

输出“ODBC源输出”:“日期”

是否要将输出列的元数据替换为外部列的元数据

事实上,除了在我的电脑上,它在任何地方都能工作


是否有我缺少的类似ole db提供程序组件?

它可能与Visual Studio或SSDT的版本有关

尝试安装SSDT 15.8.0(),并在其中运行包

在VisualStudio15.9.2发布后,我曾在上看到类似的帖子


它可能与Visual Studio或SSDT的版本有关

尝试安装SSDT 15.8.0(),并在其中运行包

在VisualStudio15.9.2发布后,我曾在上看到类似的帖子


降级将起作用,但如果这对您来说不可能,那么重写查询也可能解决您的问题


在我的例子中,有一个Postgres查询返回日期类型的列。我只是使用
::timestamptz
将它们全部转换为timestamptz。在这一点上,列从DT_字节更改为DT_DBTIMESTAMP,这对我来说很好。

降级将起作用,但如果您无法做到这一点,那么重写查询也可以解决您的问题


在我的例子中,有一个Postgres查询返回日期类型的列。我只是使用
::timestamptz
将它们全部转换为timestamptz。在这一点上,列从DT_字节更改为DT_DBTIMESTAMP,这对我来说很好。

同样,我在select中强制类型转换它,它可以工作:

SELECT
    [...]
    cast(release_date as datetime) as release_date,
    [...]
FROM cm_wo

在这里也是一样,我在选择中强制类型转换它,它可以工作:

SELECT
    [...]
    cast(release_date as datetime) as release_date,
    [...]
FROM cm_wo

您的ODBC源系统是什么?您的本地计算机上是否安装了该系统的ODBC驱动程序?@digital.aaron源驱动程序是SQL ANYWHERE 11,我刚升级到16,但SQL ANYWHERE端(您的源)似乎不起作用,与“日期”目标列对应的列的本机数据类型是什么?另外,目标列需要什么数据类型?我使用sql命令通过表中某列的转换为日期来获取日期。目标列也需要一个日期。您的ODBC源系统是什么?您的本地计算机上是否安装了该系统的ODBC驱动程序?@digital.aaron源驱动程序是SQL ANYWHERE 11,我刚升级到16,但SQL ANYWHERE端(您的源)似乎不起作用,与“日期”目标列对应的列的本机数据类型是什么?另外,目标列需要什么数据类型?我使用sql命令通过表中某列的转换为日期来获取日期。目的地栏也在等待一个日期。谢谢,我回滚到了VS15.5,我再也没有pb了!谢谢,我回滚到了VS15.5,我再也没有pb了!