C#コードを使用してREST API/Webmethods内のネットワーク/共有ドライブにあるmsアクセスデータベース(mdb/accdbファイル)に接続しようとしています。コンソールアプリケーションを使用していてもRest APIで使用されている場合は接続エラーがスローされているため、同じコードが正常に機能しています。つまり、Rest API(VS 2013)を使用して呼び出しが行われます。休憩サービスでMS Access DB接続エラーが発生しました
例外:
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
System.Runtime.InteropServices.SEHException was unhandled by user code
HResult=-2147467259
Message=External component has thrown an exception.
Source=System.Data
ErrorCode=-2147467259
コード:
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12;" + @"Data Source=\\network folder\Shared\filesecure.mdb;Jet OLEDB:Database Password=somepassword;Persist Security Info=true;";
using (OleDbConnection oledbConnection = new OleDbConnection(connectionString))
{
connection.Open(); // Getting exception here
}
すべてのヘルプは理解されるであろう。
同じマシンにあるデータベースファイルを使用してWebメソッドをテストしてみてください。それがうまくいく場合は、LANリソース(他のマシンの共有フォルダなど)にアクセスする権限を持たないWebサービスコードを実行しているアカウントが原因である可能性があります。 –
また、Webサービスがx64ビットとして実行されている可能性があることに注意してください。これは、デフォルトのx32ドライバではなく、ACEにx64ビットドライバを使用する必要があることを意味します。 –