我在使用SSIS数据导入向SQL Server 2005上传制表符分隔的平面文件(TSV文件)时遇到了问题。在SQL Server 2000中,我没有遇到这个问题,并且我已经检查过我尝试导入的文件的内部结构自SQL Server升级以来就没有改变。
问题是,所有数值数据类型列(例如smallint、float等)中的空白值在导入时都会被转换为0而不是NULL。这意味着在这些数据上进行平均操作会得到错误的输出。
TSV文件不包括文本限定符,但是使用一些虚拟数据测试限定符并不能解决这个问题。
可以通过导入到VARCHAR列中来保留NULL,但这远非理想。是否有一种方法可以指示SSIS导入/导出向具有数值数据类型的列中导入平面文件中的空白值作为NULL而不是0?
问题是,所有数值数据类型列(例如smallint、float等)中的空白值在导入时都会被转换为0而不是NULL。这意味着在这些数据上进行平均操作会得到错误的输出。
TSV文件不包括文本限定符,但是使用一些虚拟数据测试限定符并不能解决这个问题。
可以通过导入到VARCHAR列中来保留NULL,但这远非理想。是否有一种方法可以指示SSIS导入/导出向具有数值数据类型的列中导入平面文件中的空白值作为NULL而不是0?