1
4
我认为主要的问题是OLEDB源如何检测参数数据类型,我没有找到提到这一点的官方文档,但是您可以做一个小实验来看看: 尝试在OLEDB源中的SQL命令中写入以下查询:
然后尝试分析查询,您将得到以下错误:
这意味着查询解析器试图找出这些参数的数据类型,它与您映射到它的变量数据类型无关。 然后尝试编写以下查询:
然后尝试解析查询,您将得到:
现在,让我们将这些实验应用于您的查询:
尝试
更新1-官方文件信息来自以下内容 OLEDB Source - Documentation :
这意味着参数数据类型与变量数据类型无关。 更新2-使用SQL事件探查器的实验作为实验,我创建了一个ssis包,它将数据从OLEDB源导出到记录集目标。数据源是以下查询的结果:
以及参数
在执行包之前,我在SQL Server实例上启动了SQL事件探查器跟踪,在执行包之后,以下查询将记录到跟踪中:
第一个命令
结果表明,参数数据类型被认为是
其他命令显示了一些奇怪的语句:
讨论
在SQL Server数据库引擎中,基本日期时间值为
另一方面,在SSIS中:
基于此,我认为ssis日期数据类型之间的datetime基值之间存在差异(
工具书类 |
Lorn · 查找特定字符并将记录更改为null 6 年前 |
John McElreavey · SQL Server Integration Services(SQL Server 2016)(SSIS)是否在每次运行C#代码时都重新编译它,还是将其缓存? 6 年前 |
Justin · SQL Server SSIS数据沿袭 6 年前 |
LONG · SSIS异步转换保留前一列值并设置为下一行 6 年前 |
navig8tr · SSIS脚本任务:如何从列表更新表 6 年前 |
Raj · 何时在SSIS中使用全局临时表而不是本地临时表? 6 年前 |