g***l 发帖数: 18555 | 1 我的SSIS PACKAGE里VENDOR_ID是INT,PASS进去说是TYPE MISMATCH,好像dtsExecCmd只
能接受STRING
create PROCEDURE [dbo].[TestRunMySSISPkg]
@ssisPkgFilePath varchar(500),
@vendor_id int --varchar(5)
AS
begin
DECLARE
@dtsExecCmd varchar(4000)
SET @dtsExecCmd = 'dtexec /F "' + ltrim(rtrim(@ssisPkgFilePath)) + '"'
SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::vendor_id].
Properties[Value]";""' + @vendor_id |
i****a 发帖数: 36252 | 2 problem is the SQL code
SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::vendor_id].
Properties[Value]";""' + CONVERT(VARCHAR(10), @vendor_id)
also there is a problem with your @dtsExecCmd construction.
do a select @dtsExecCmd and you'll see.
【在 g***l 的大作中提到】 : 我的SSIS PACKAGE里VENDOR_ID是INT,PASS进去说是TYPE MISMATCH,好像dtsExecCmd只 : 能接受STRING : create PROCEDURE [dbo].[TestRunMySSISPkg] : @ssisPkgFilePath varchar(500), : @vendor_id int --varchar(5) : AS : begin : DECLARE : @dtsExecCmd varchar(4000) : SET @dtsExecCmd = 'dtexec /F "' + ltrim(rtrim(@ssisPkgFilePath)) + '"'
|
g***l 发帖数: 18555 | 3 可是我的SSIS的VENDOR_ID是INT,用这个SP的原因就是因为SSIS PACKAGE不能改变,所
以必须PASS INTEGER VENDOR_ID,CONVERT TO VARCHAR还是错 |
j*****n 发帖数: 1781 | 4 (DT_STR,50, 1252)VENDOR_ID
【在 g***l 的大作中提到】 : 可是我的SSIS的VENDOR_ID是INT,用这个SP的原因就是因为SSIS PACKAGE不能改变,所 : 以必须PASS INTEGER VENDOR_ID,CONVERT TO VARCHAR还是错
|
B*****g 发帖数: 34098 | 5 大侠一出手,便知有没有
【在 j*****n 的大作中提到】 : (DT_STR,50, 1252)VENDOR_ID
|
g***l 发帖数: 18555 | 6 这还是个CONVERT,好像有个地方可以设置DTS VARIABLE的类型是INT
【在 B*****g 的大作中提到】 : 大侠一出手,便知有没有
|
i****a 发帖数: 36252 | 7 have you tried not putting the variable in ""?
【在 g***l 的大作中提到】 : 这还是个CONVERT,好像有个地方可以设置DTS VARIABLE的类型是INT
|