2012-02-07 8 views
1

インテグレーションサービスがインストールされている他のサーバ上にあるパッケージを実行するために、Webアプリケーションで次のコード行を使用しています。サーバ。インテグレーションサービスがインストールされていないコンピュータからssisパッケージを実行

 string pkgLocation; 
     Microsoft.SqlServer.Dts.Runtime.Package pkg; 
     Application app; 
     DTSExecResult pkgResults; 

     pkgLocation = @"\\hddlntd6021985\ssis\Package1.dtsx"; 

     app = new Application(); 
     pkg = app.LoadPackage(pkgLocation, null); 
     pkgResults = pkg.Execute(); 

     Response.Write(pkgResults.ToString()); 

答えて

1

リモートでパッケージを実行することは常に問題です。あなたはいくつかの機会を持っていますが、どちらも完全には動作しません。 Thisの記事では、それぞれの機会と長所と短所について説明しています。あなたがしようとしたことは、最初の点です。

もう1つの方法は、thisの記事で説明されているPowerShell Remotingの使用方法です。私のプロジェクトの1つでは、この方法でリモートでパッケージを実行しましたが、IT部門はセキュリティポリシーのためにパッケージを使用できませんでした。 (PowerShell Remotingはポート5985と5986を開きます)私はそれが簡単な解決策だと思います。データベースサーバー上でサービスを開発するよりも簡単です。したがって、これらのポートをデータベースサーバー上で開くことが許可されている場合は、PowerShellの使用を検討することができます。

1

SSISをインストールせずにSSISパッケージを実行することはできません。ただし、execute a package remotely(そのページの最初の文に注意してください)は、アプリケーションサーバーがSSISサーバー上でパッケージを実行できるようにします。

+0

実際問題は、私のアプリケーションがアプリケーションserver.Myデータベースとパッケージにインストールされていることです。db server.Nowでは、ここでインテグレーションサービスをインストールせずにアプリケーションがssisパッケージを実行する方法を見つけなければなりません。 – Shipu

+0

はい、それは私が理解したものです。私の答えはあなたの状況にどうやって当てはまりませんか? – Pondlife

+0

dbサーバー上にサービスを作成している場合、dbserver上でそのサービスをホストするiisをインストールする必要があります。これはクライアントが受け入れられません。 – Shipu

関連する問題