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
Sql server SSIS NULL(DT#WSTR,10)不';t返回空值_Sql Server_Ssis_Null - Fatal编程技术网

Sql server SSIS NULL(DT#WSTR,10)不';t返回空值

Sql server SSIS NULL(DT#WSTR,10)不';t返回空值,sql-server,ssis,null,Sql Server,Ssis,Null,我想在我的SSIS包中将“OLD_LEASE_NUMBER”列的空字符串设置为NULL值,因此下面是公式 TRIM(OLD_LEASE_NUMBER) == "" ? NULL(DT_WSTR,10) : TRIM(OLD_LEASE_NUMBER) 当我在我的SQL表上进行选择时,该列不显示NULL。此派生列在将记录插入表之前完成。该字段为旧租赁编号(nvarchar(10),空) 为什么这个公式不起作用?如果这不是正确的方法,如何设置空值 更新:目标是OLE DB,它是SQL server

我想在我的SSIS包中将“OLD_LEASE_NUMBER”列的空字符串设置为NULL值,因此下面是公式

TRIM(OLD_LEASE_NUMBER) == "" ? NULL(DT_WSTR,10) : TRIM(OLD_LEASE_NUMBER)
当我在我的SQL表上进行选择时,该列不显示NULL。此派生列在将记录插入表之前完成。该字段为旧租赁编号(nvarchar(10),空)

为什么这个公式不起作用?如果这不是正确的方法,如何设置空值

更新:目标是OLE DB,它是SQL server上的表。它没有默认值。使用LEN返回相同的结果。访问模式为“使用FastLoad的OpenRowset”,FastLoadKeepNull为true

抱歉,图像无法显示

新更新:
对不起,我的错,我没有看表中的所有记录。实际上,仅前30行的值不是null。为什么?

试试这样的方法

LEN(LTRIM(RTRIM([ColumnName])))==0 ? NULL(DT_WSTR, 10) : LTRIM(RTRIM([ColumnName]))

我发现了我的错误。谢谢你试着帮助我


我有另一个数据流,它在同一个表中添加了30条记录作为测试记录,并且假设是禁用的,但事实并非如此。Duh

您使用的目标组件是什么?如何配置?目标表是SQL Server表吗?您是否正在使用“快速加载”,如果是,是否已选中“保持空值”?表中该列是否有默认值?
LEN(旧租赁编号)
为插入的行显示了什么?是的,目标是SQL server上的表。它没有默认值。使用LEN返回相同的结果。访问模式是“使用FastLoad的OpenRowset”,FastLoadKeepNull是真的。我在发布后也尝试过。我得到了相同的结果。右键单击表格并选择
design
,然后在第三列中,您将看到
allownulls
检查了案例
最后
保存您的修改
它被选中。事实上,所有字段都是允许空值。我试过了。同样的结果。我有一种感觉,这一定是一个非常愚蠢的错误。你们的专栏
旧租赁号
数据类型是什么