【发布时间】:2014-09-19 21:46:13
【问题描述】:
我遇到了这个可怕的错误:“Specified cast not valid”;在通过 Linq 调用存储过程时。
SET NOCOUNT ON;
declare @packagename VARCHAR(100)
declare @servername VARCHAR(100)
SET @packagename = 'PackageName'
SET @servername = 'servername'
DECLARE @ssisstr varchar(8000)
set @ssisstr = 'C:\"Program Files (x86)"\"Microsoft SQL Server"\100\DTS\Binn\dtexec /sql ' + @packagename + ' /ser ' + @servername + ' ';
----now execute dynamic SQL by using EXEC.
declare @returncode nvarchar(100)
EXEC @returncode = xp_cmdshell @ssisstr;
select @returncode
返回看起来像一个只有一列和内容的表格:
Microsoft (R) SQL Server Execute Package Utility
Version 10.50.4260.0 for 32-bit
Copyright (C) Microsoft Corporation 2010. All rights reserved.
NULL
...
存储过程调用看起来像
using (DataContext context = new DataContext (connection))
{
var returncode = context.StoredProcedure(packagname,servername);
}
【问题讨论】:
-
直接调用存储过程是否有效?我认为您使用脚本任务是有原因的,而您本来可以使用脚本任务?