2010-12-15 50 views
0

私は一週間問題を見ていて、それを理解することができませんでした。私はが苦しいです。IIS実行ファイルが実行されていません

クライアントサイトには、UATとPRODという2つの環境があります。 UATは完璧に働いています(これを念頭に置いてください)。現在、ソリューションをPRODに導入しようとしていますが、ソリューションの特定の部分が機能していません。

私たちは、クライアントがSSISパッケージを呼び出すことができるようにクライアントに提供するasp.netアプリケーションを開発しました(まずドロップダウンがいくつかあり、最初に「invoke」という名前のボタンをクリックします)。 ユーザーが[Invoke]ボタンをクリックすると、InvokeSSIS.batという名前のバッチファイルが呼び出され、dtexecのコマンドラインコールが適切なパラメータでアセンブルされます。

システムにインポートするスプレッドシートを生成する実行可能ファイルを呼び出す責任がある特定のパッケージに問題があります。

実行可能ファイルは、マップされたH:\ドライブにあります。

バッチファイルが生成しているコマンドを取得するために、InvokeSSIS.batバッチファイルを変更しました。コマンドラインからこのコマンドを実行すると、完全に動作します。 webapp Invokerでは、パッケージを実行しますが、パッケージ全体が完了するまで1秒しかかからないため、実行可能ファイルを呼び出すタスクは実行されません(約1分かかります)。

実行可能ファイルにはGUIですが、インタラクティブではありません。特定のパラメータでGUIを呼び出すと、自動的にバッチモードで実行され、目的のスプレッドシートを生成するために使用されるマクロが実行されるためです。

これはUATサーバーで動作し、コマンドラインから動作するため、これは問題ありません。

私は実行可能ファイルのアクセス許可をチェックしています(実行可能ファイルを右クリックしてプロパティをクリックします)。私は使用しているアプリケーションプールのIDタブと同じユーザーに実行可能ファイルに対してフルコントロールを与えました。

誰かお手伝いできますか?私が言ったように私はここで死んでいる!

アイデアや必要な情報があれば教えてください。

環境(UATとPROD両方) OS:Windows Server 2003では
は6
asp.net 2.0
SQL Server 2008の

感謝をIIS!

スティーブ

+1

あなたの投稿を修正して、何が何を、どこで、いつ実行するかを明確にレイアウトできますか?あなたの投稿は、把握することを非常に困難にしています。また、IISワーカーに実行可能ファイルの完全な権利を与えることは、悪い考えです。どんな場合でも必要ありません。 –

+0

UAT/PRDではIISアプリケーションプールのIDが異なりますか?原因として "アーキテクチャ"を特定するための+1 – Sam

答えて

1

IISでマップされたドライブを使用することはできません。

他のシステムのファイルにアクセスするには、\\ servername構文を使用する必要があります。

1

これは少なくとも部分的にマッピングの問題であると私はuser544284に同意します。私は、Webアプリケーションがバッチファイルを呼び出して、ドライブ文字マッピングを介してリモートネットワークドライブにある実行ファイルを起動するという完全な狂気を無視します。

ほとんどの場合、UATボックスには、プロードがないドライブ文字をマップする何らかの設定があります。

唯一の可能性は、セキュリティ違反が発生していることです。ネットワークドライブからの.exeの実行は、一般的には眉をひそめます。 2つの環境のウィンドウのバージョンはまったく同じですか?彼らはUACに関して同じ構成になっていますか?ここでの違いは重要です。

これは興味深い考えを呼び起こします。私は誰かが、アプリケーションプールが使用している同じアカウントの資格情報を使用してUATサーバーにログインしていて、EXEが所在するマシンのIPアドレスを「ローカルイントラネット」サイトのリストに追加したのだろうか...または、SSIS UATサーバー自体に

あなたがサーバーにログインしてコマンドラインで実行できるという理由だけで何も意味しません。 Webアプリケーションが実行されているユーザのドライブ文字がマッピングされているかどうか、またそのユーザが必要なセキュリティビットを持っているかどうか、ローカルOSがそれを許可するかどうかを調べる必要があります。

さて、私はそれを無視することはできません。髪型は、この「建築」のために考え出すことができる最も美しい形です。あなた自身の好意を持って、この1枚の絵付けボードに戻ってください。あなたがすでに見つけたように、それには「脆弱」という言葉が書かれています。 dtexecを呼び出すためのバッチファイルを作成する代わりに、thisまたはthisのようなもので直接実行してください。

+0

+1。症状としての問題。さもなければ、我々は重大な影響を及ぼさない低レベルのレスポンダーの束に過ぎない。 – PerformanceDBA

関連する問題