首页 > 解决方案 > 如何使用 SSIS sql 执行任务在 Teradata 上调用存储过程?

问题描述

我在使用 Teradata 上的参数调用存储过程时遇到问题。我使用 SSDT 2015 和 Teradata 15.10.1.10。存储过程有一个参数:in VALID_FROM varchar(10)

为了避免日期转换问题,我选择使用 varchar 类型创建输入变量,然后在存储过程中进行转换cast(VALID_FROM as date)并在查询中使用它。

所以,我有两个块是 SSIS:1)“GetInputParameter”(SQL 执行任务),它返回带有日期的字符串。2) “ExecuteProcedureOnDest”(SQL 执行任务)通过 ODBC 驱动程序调用 Teradata 上的存储过程。

我检查了输入参数是一个格式为“YYYY-MM-DD”的字符串,所以在我看来,一切正常。但是当我运行包时,我在任务“ExecuteProcedureOnDest”上看到一个错误:

[Teradata][ODBC Teradata 驱动程序][Teradata Database] SPINTORGLISTPREPARE:日期无效。

我将非常感谢帮助解决这个问题!

标签: ssisodbcteradataetl

解决方案


推荐阅读