CREATE TABLE SSIS_AuditResults(
AuditID INT IDENTITY(1,1),
PackageName varchar(35),
ExecutionTime datetime,
Filename_Path varchar(100),
RecordCount integer,
EndTime datetime,
PackageStatus varchar(10)
)
以上是我的表格。我正在使用下面的查询来执行SQL TASK
INSERT INTO SSIS_AuditResults(PackageName,ExecutionTime)
SELECT ? ,?
select scope_identity()
在参数中我映射包名和执行时间。 在结果映射中,我正在创建一个名为
的新变量Identity_Generator
data type int 64,value 0
执行我的包后,我收到以下错误
[执行SQL任务]错误:为变量“Identity_Generator”赋值时发生错误:“分配给变量”User :: Identity_Generator“的值的类型与当前变量类型不同。变量可能不会更改在执行期间输入。变量类型是严格的,除了Object类型的变量。
我正在给INT,但它给我一个错误。有人可以在我犯错的地方帮助我吗?
答案 0 :(得分:1)
SSIS中的数据类型不允许更改,除非它是Object类型。您的表将AuditID
定义为int。 SQL Server int数据类型与SSIS中的Int32数据类型相关联。
您的软件包将Identity_Generator
SSIS变量定义为Int64类型,类似于SQL Server数据类型中的bigint。
要解决此问题,您需要使类型对齐:将SQL Server类型更改为bigint或将Variable更改为Int32。正确的方法取决于您的环境的具体情况。