Tom*_*Tom 5 sql sql-server ssis
我正在创建一个SSIS包,并在提取数据时收到以下错误。
错误:分配给变量“ User :: dunsId”的值(DBNull)的类型与当前变量类型(字符串)不同。变量在执行期间可能不会更改类型。变量类型是严格的,但对象类型的变量除外。
dunsId在源表中是varchar(150),该表是可为空的列,并且包含Null值。我在SSIS中创建的用于映射它的变量是string类型。我基本上是试图提取他所有的记录,并将其插入到包含dunsId列的目标表中,该表为varchar(150)
这是我的插入查询
INSERT INTO Parties (companyId, dunsId, companyName, companyTypeId,companyTypeName,companyStatusTypeId,companyStatusTypeName,simpleIndustryId,simpleIndustryDescription)
values (companyId, dunsId, companyName, companyTypeId, companyTypeName,companyStatusTypeId,companyStatusTypeName,simpleIndustryId,simpleIndustryDescription)
Run Code Online (Sandbox Code Playgroud)
变数
设计
LON*_*ONG 10
解决您的问题的几种方法:
string 为objectExecute SQL task,将ISNULL问题列放在周围,这将确保输出是stringSourceto DestinationinDataFlow task或使用Execute SQL taskwithINSERT INTO target_table SELECT...FROM Source_table语句更新
正如您所提到的,您正在使用 输出列stored procedure,那么您可以使用语句INSERT INTO target_table EXEC your_usp而不是3上面的方法
| 归档时间: |
|
| 查看次数: |
12151 次 |
| 最近记录: |