SQL任务(SSIS) - 将结果提取到类型(DBTYPE_DATE)的变量时发生错误?

时间:2016-01-15 11:38:00

标签: sql-server oracle ssis bids

我必须在现有的SSIS解决方案中工作。其中一个初始步骤就是截断现有的Oracle表。

现有的有问题的SQL任务如下(替换模式和表)

<DTS:Property DTS:Name="Expression">"truncate table schema.table"</DTS:Property>
<DTS:Property DTS:Name="EvaluateAsExpression">-1</DTS:Property>
<DTS:Property DTS:Name="Namespace">User</DTS:Property>
<DTS:Property DTS:Name="ReadOnly">0</DTS:Property>
<DTS:Property DTS:Name="RaiseChangedEvent">0</DTS:Property>
<DTS:Property DTS:Name="IncludeInDebugDump">2345</DTS:Property><DTS:VariableValue DTS:DataType="8">truncate table ledger.fusion_fx_rates_processstaging</DTS:VariableValue>
<DTS:Property DTS:Name="ObjectName">SQL_VariableSQL_ClearDownFusionFXRatesProcessstaging</DTS:Property>
<DTS:Property DTS:Name="DTSID">{71911B6D-A0F8-49E4-9F7C-769BAEB5E8F9}</DTS:Property>
<DTS:Property DTS:Name="Description"></DTS:Property>
<DTS:Property DTS:Name="CreationName"></DTS:Property></DTS:Variable>

对我来说,第一个奇怪的是,当我在控制流中打开任务,并按下“构建查询”按钮时,我得到“无法解析查询文本”错误。由于某种原因,语句中的截断词有“”,所以如果我删除它们,并按下“运行”按钮,它会提示输入数据库的密码并且成功(这表明OleDB连接没有问题)。然而,当我单击确定关闭菜单时,我再次得到“无法解析文本”错误,如果我回到之前的菜单,我再次在截断周围的“”(仅在该单词上,而不是在整个声明中。)

最后,当我运行解决方案时,我在输出中出现了这个错误:

  

“将结果提取到类型变量时发生错误   (DBTYPE_DATE)“。可能的失败原因:查询问题,   “ResultSet”属性设置不正确,参数设置不正确,   或连接未正确建立。

在SQL任务编辑中没有定义结果集,显然我不是试图用truncate语句获取任何类型的结果,所以我想知道可能是什么问题?我正在使用BIDS 2008。

我已经尝试将SQLSourceType的属性从Variable更改为DirectInput,然后直接放入SQL语句,但它会产生相同的错误。

1 个答案:

答案 0 :(得分:0)

似乎在SQL任务编辑器中配置了一个输入参数,我从未在第一时间确认,因为它是截断语句。

老实说,我不知道这些事情在Subversion上是如何以这种方式结束的,以及它们实际上是如何在生产中运行的......!