mem*_*eme 2 ssis bids sql-server-2008
我在数据转换和从平面文件导入到SQL Server数据库时遇到了一个奇怪的问题。问题是在某些字段中,例如9012635和54Z2534、234-1823都同时存在整数和字符串。
在SSIS包中,我所有的字段都有一个数据类型pf DT_WSTR(255),并且该数据正在插入nvarchar(255)。最初,我是通过使用import export wizzard创建软件包的,然后进行了修改(但未进行转换。我接受了向导给出的内容(即DT_WSTR)。最终没有将数据导入到这些字段中)。行并将数据插入到其他列中,但在某些列中则为NULL-无数据。
为了测试,我最终尝试使用该文件的向导。我收到一个错误:“采样数据中的最后一行不完整。列或行的分度符可能丢失,或者文本修饰不正确”。
尽管如此,该文件仍会导入所有行,但似乎不喜欢这些列中的文本,最终只能将整数值作为文本导入。
其他没有给出此错误信息的文件也具有相同的症状。
我不确定如何解决此问题,或者是什么问题。
NVARCHAR应该对应于DT_WSTR,而VARCHAR应该对应于DT_STR。您确定这两种类型之间不是转换问题吗?如果输入的是真正的DT_I4整数,则应该看不到字母字符。
您可以将数据查看器添加到数据流中,以确切确定SSIS包中的数据类型。
如果要转换字符串类型,可以使用派生列转换来创建新列,然后将一种字符串类型转换为另一种。
因此,例如,(DT_STR,30,1252)OldColumnName将根据代码页1252将NVARCHAR的三十个字符强制转换为VARCHAR。或者,(DT_WSTR,50)ColName会将五十个VARCHAR字符强制转换为NVARCHAR。
| 归档时间: |
|
| 查看次数: |
25265 次 |
| 最近记录: |