2016-04-06 13 views
0

共有ドライブから.mdbファイルを読み込もうとしている.Net Web APIを作成しています。しかし、私はそれは私にファイル 「\ myshareddrive \ thedatabase.mdb」に開いたり、書き込むことはできませんmdbファイルoledbconnectionスロー「Microsoft Accessデータベースエンジンがファイルを開く、または書き込めません......」

Microsoft Accessデータベースエンジンを与える接続を開こうとするたびに。既に他のユーザー によって排他的に開かれているか、またはそのデータの表示と書き込みの許可が必要です。

私はすでに、フォルダとネットワークサービスアカウントに関連するファイルに対するアクセス許可を変更アクセス権に変更しました。私はまた、共有ドライブに管理者権限を持つユーザーとして「接続する」ためにIISを使いこなしました。はい、ファイルが閉じられています。今どこに行くかわからない。アドバイスをいただければ幸いです。

私はこのソリューションを見て:

http://www.aspdotnet-suresh.com/2013/01/c-microsoft-office-access-database.html

は、ここに私のコードです:

var databaseStringthatincludespath = "\\myshareddrive\thedatabase.mdb" 
var connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" + databaseStringthatincludespath; 

try 
{ 
    OleDbConnection Myconnection = new OleDbConnection(connString); 
    Myconnection.Open(); 
    Myconnection.Close(); 
    return "Yo test return!"; 
} 
catch (Exception ex) 
{ 
    var error = ((ex.InnerException != null) ? ex.InnerException.Message : " ") + " -- " + ex.Message; 
    return error; 
} 
+1

あなたは共有名については確かですか?通常、\\ hostname \ shareの2つの部分で構成されます。また、その前に逐語的な文字が必要です。_var databaseStringthatincludespath = @ "" \\ myshareddrive \ thedatabase.mdb "_ – Steve

答えて

0

は、最後にそれを考え出しました。基本的には、偽装を有効にするために、IIS上のアプリケーションの「認証」を確認する必要があります(少なくともこれが私が行ったルートです)。 accoutnがパスが存在するサーバー上で認識されるようにして、偽装アカウントとしてアプリケーションが実行されたときに問題が発生しないようにします。

関連する問題