2016-01-16 56 views
0

無法連接到服務器在SSIS integrationservices在C#我有這樣的代碼在部署時

var connectionString = "Data Source=" + servername + ";Initial Catalog=" + databasename + ";Integrated Security=True"; 
      var connection = new SqlConnection(connectionString); 
      var integrationServices = new IntegrationServices(connection); // ERROR HERE. Failed to connect to server. 

      var package = integrationServices 
       .Catalogs["SSISDB"] 
       .Folders["MyFolder"] 
       .Projects["MyProject"] 
       .Packages["MyPackage.dtsx"]; 

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

      ExecutionOperation eo = integrationServices.Catalogs["SSISDB"].Executions[executionIdentifier]; 
      while(!eo.Completed) 
      { 
       eo.Refresh(); 
       System.Threading.Thread.Sleep(5000); 
      } 

在開發過程中,沒有遇到任何錯誤,但在我的網絡部署,將發生錯誤,當我實例integrationServices像

var integrationServices = new IntegrationServices(connection); 

這是說「無法連接到服務器」。我知道這個錯誤,因爲當我在瀏覽器中輸入console.log這個錯誤時,它會這樣說。所以有些東西阻止我連接集成服務。

任何人都可以給我一個想法嗎?謝謝。

編輯:

我已經啓用了允許遠程連接

enter image description here

+0

SSISDB是否存在於目標服務器上? – billinkc

+0

是的,它現在在目標部署服務器上。但它在我的visual studio所在的開發服務器上工作。 – Alexander

回答

0

看起來或者是壞的連接字符串或SQL Server不允許1433個端口連接的情況。

做到以下幾點:

  1. 包裹下嘗試捕捉
  2. 上的錯誤你的整個代碼,嘗試顯示/記錄的connectionString變量的值。

一旦你有了,它會顯示爲不正確的值。 (可能是因爲Dts變量或您的servername/databasename變量值的來源未設置)或Sql服務器不允許遠程連接。 (您需要打開端口)