- ベストアンサー
VB.NETで作ったプログラムがサーバー上で実行できない
いつもお世話になっております。 標題の件なのですが、VB.NETで作ったプログラムをサーバーに置いて、 ネットワークごしに実行するとエラーが出てしまいます。 エラーの内容は「system.security.permissions.securitypermission」です。 プログラムの内容は、 (1)XMLファイルを読み取る。 (2)ADOでOracleに接続し、ストアドを実行する。 (3)Oracleからデータを取得し、Excelを出力する。 といった感じです。 エラー内容的にセキュリティの問題だと思うのですが、回避策がございましたら、 ご教授願います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
XMLの読み取り時にSecurityExceptionが発生したのだと思われます。 UNC経由で.NET Frameworkのプログラムを起動した場合,そのプログラムは,.NET Framework 3.5 SP1より前のバージョンでは完全信頼とされていませんでした。 そのため,ファイルアクセスを行う場合は,OpenFileDialogまたはSaveFileDialogのOpenFileメソッドを通じて行う必要がありました。 おそらく,今回はこの問題に引っかかったのだと思います。 なお,.NET Framework 3.5 SP1 (3.0 SP2/2.0 SP2含む) においては,MyComputerZoneでの実行となり,完全信頼となります。 http://msdn.microsoft.com/ja-jp/library/cc713697.aspx 方法論としては, ・Visual Studio 2005/2008でビルドし,.NET Framework 3.5 SP1を入れた環境下で実行する ・caspolコマンド等で,アセンブリにFullTrustを与える といった必要があります。 # ドメインを構成している場合は,別の解決策があったように思いますが,失念しました。