2016-01-14 16 views
0

У меня есть этот кодВыполнение пакета в режиме ssis Время ожидания истекло. Время ожидания истекло до завершения операции или сервер не отвечает

var connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SSIS"].ConnectionString); 
      var integrationServices = new IntegrationServices(connection); 

      var package = integrationServices 
       .Catalogs["SSISDB"] 
       .Folders["MYFOLDER"] 
       .Projects["MYPROJECT"] 
       .Packages["MYPACKAGE.dtsx"]; 

      var executionParameters = new System.Collections.ObjectModel.Collection<Microsoft.SqlServer.Management.IntegrationServices.PackageInfo.ExecutionValueParameterSet>(); 
      var executionParameter = new Microsoft.SqlServer.Management.IntegrationServices.PackageInfo.ExecutionValueParameterSet(); 
      executionParameter.ObjectType = 50; 
      executionParameter.ParameterName = "SYNCHRONIZED"; 
      executionParameter.ParameterValue = 1; 
      executionParameters.Add(executionParameter); 

      long executionIdentifier = package.Execute(true, null, executionParameters); 

Как только я называю package.Execute, это приводит к ошибке времени ожидания истекло. Период ожидания истекает до завершения операции или сервер не отвечает

Я уже настроил таймауты here, но ошибка существует.

Если я удалю параметр executeParameter.ParameterName = "SYNCHRONIZED", проблема удалена. но я хотел бы сделать вызов для синхронного выполнения.

Любая идея, как исправить это? Спасибо

ответ

0

Кажется, что есть 30 секундный тайм-аут при выполнении пакетов, которые вы не можете переопределить. Возможно, вам придется преодолеть это ограничение, выполнив пакет асинхронно, а затем ожидая его завершения. Ниже

ExecutionOperation operation = ssisServer.Catalogs["SSISDB"].Executions[executionIdentifier]; 

while (!operation.Completed)) 
{ 
    operation.Refresh(); 

    // Wait before refreshing again 
    System.Threading.Thread.Sleep(500); 
} 

this link Смотреть подробнее

+0

Спасибо, вы ответили два из моих вопросов, этот вопрос и вопрос, который я собирался спросить: «Как я Петля состояние выполнения в .net», который я собираюсь спросить – Alexander

Смежные вопросы

 Смежные вопросы