C# &引用;参数不存在或您没有足够的权限;在C中运行SSIS包时#
我有一个包含一系列变量的SSIS包,如下所示: 我正在尝试使用以下代码从C#Windows窗体应用程序调用SSIS包:C# &引用;参数不存在或您没有足够的权限;在C中运行SSIS包时#,c#,sql-server,winforms,ssis,etl,C#,Sql Server,Winforms,Ssis,Etl,我有一个包含一系列变量的SSIS包,如下所示: 我正在尝试使用以下代码从C#Windows窗体应用程序调用SSIS包: // Create a connection to the server string sqlConnectionString = "Data Source=BSQL_01;Initial Catalog=master;Integrated Security=SSPI;"; SqlConnection sqlConnection = new SqlConnection(sql
// Create a connection to the server
string sqlConnectionString = "Data Source=BSQL_01;Initial Catalog=master;Integrated Security=SSPI;";
SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);
// Create the Integration Services object
IntegrationServices integrationServices = new IntegrationServices(sqlConnection);
// Get the Integration Services catalog
Catalog catalog = integrationServices.Catalogs["SSISDB"];
// Get the folder
CatalogFolder folder = catalog.Folders["PORGPackages"];
// Get the project
ProjectInfo project = folder.Projects["PORGPackages"];
// Get the package
PackageInfo package = project.Packages["POHandler.dtsx"];
// Add project parameter
Collection<PackageInfo.ExecutionValueParameterSet> executionParameter = new Collection<PackageInfo.ExecutionValueParameterSet>();
executionParameter.Add(new PackageInfo.ExecutionValueParameterSet { ObjectType = 20, ParameterName = "SessionID", ParameterValue = "636943168325507712" });
// Run the package
long executionIdentifier = package.Execute(false, null, executionParameter);
ExecutionOperation executionOperation = integrationServices.Catalogs["SSISDB"].Executions[executionIdentifier];
while (!executionOperation.Completed) {
System.Threading.Thread.Sleep(5000);
executionOperation.Refresh();
MessageBox.Show("Running...");
}
if (executionOperation.Status == Operation.ServerOperationStatus.Success) {
Console.WriteLine("Success");
} else if (executionOperation.Status == Operation.ServerOperationStatus.Failed) {
Console.WriteLine("Failed");
} else {
Console.WriteLine("Something Went Really Wrong");
}
//创建到服务器的连接
string sqlConnectionString=“数据源=BSQL_01;初始目录=主目录;集成安全性=SSPI;”;
SqlConnection SqlConnection=新的SqlConnection(sqlConnectionString);
//创建集成服务对象
IntegrationServices IntegrationServices=新的IntegrationServices(sqlConnection);
//获取集成服务目录
Catalog Catalog=integrationServices.Catalogs[“SSISDB”];
//获取文件夹
CatalogFolder=catalog.Folders[“PORGPackages”];
//获得项目
ProjectInfo项目=文件夹.Projects[“PORGPackages”];
//拿到包裹
PackageInfo package=project.Packages[“POHandler.dtsx”];
//添加项目参数
Collection executionParameter=新集合();
添加(新的PackageInfo.ExecutionValueParameterSet{ObjectType=20,ParameterName=“SessionID”,ParameterValue=“636943168325507712”});
//运行包
long executionIdentifier=package.Execute(false,null,executionParameter);
ExecutionOperation ExecutionOperation=integrationServices.Catalogs[“SSIDB”]。执行[executionIdentifier];
而(!executionOperation.Completed){
系统线程线程睡眠(5000);
executionOperation.Refresh();
MessageBox.Show(“正在运行…”);
}
if(executionOperation.Status==Operation.ServerOperationStatus.Success){
Console.WriteLine(“成功”);
}else if(executionOperation.Status==Operation.ServerOperationStatus.Failed){
控制台写入线(“失败”);
}否则{
WriteLine(“出了什么问题”);
}
我得到以下错误:
参数“SessionID”不存在或您没有足够的
权限
我添加的参数正确吗?我不知道我能不能看一下它是否被设置,或者我是否得到了许可
我添加的参数正确吗
您已声明名为@SessionID的变量不是参数。
如果需要传递变量值,则可以参考以下链接: