«Параметр не существует или у вас недостаточно прав» при запуске пакета служб SSIS в C # - PullRequest
1 голос
/ 28 мая 2019

У меня есть пакет служб SSIS с несколькими переменными, перечисленными ниже: enter image description here

Я пытаюсь вызвать пакет служб SSIS из приложения Windows Form C #, используя приведенный ниже код:

// 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");
}

Я получаю следующую ошибку:

Параметр 'SessionID' не существует или у вас недостаточно прав.

Я правильно добавляю параметр?Я не знаю, смогу ли я посмотреть, будет ли он установлен или у меня есть разрешение.

1 Ответ

1 голос
/ 28 мая 2019

Правильно ли я добавляю параметр?

Вы объявили переменную с именем @SessionID, а не параметр.

Если вам нужно передать значение переменной, вы можете обратиться по следующей ссылке:

Для получения дополнительной информации об обоих объектах (переменные и параметры) Вы можете обратиться к следующим статьям:

...