2012-04-11 15 views
0

C#WindowsアプリケーションでSQLデータベースファイルを追加できません。データベースを追加:オペレーティングシステムエラー、プロセスが別のプロセスで使用されているファイルb/cにアクセスできません)

Visual Studio 2010 Expressのエンティティデータモデルウィザードを使用して、次のMS SQLデータベースファイルに接続します。 C:¥Program Files¥Microsoft SQL Server¥MSSQL10_50.MSSQLSERVER¥MSSQL¥DATA¥School.mdf

接続に「OK」をクリックすると、次のエラーが表示されます。オペレーティングシステムエラー32(プロセスが別のプロセスで使用されているファイルb/cにアクセスできません)。

私はMSSQL Server 2008 R2(Expressではなく)を実行しており、接続文字列を「データソース=」に変更しました。と "User Instance = False"となります。 (MSSQL Server 2008はユーザーインスタンスをサポートしていません)

SQL Server Management StudioでSchool.mdfデータベースを開くことができますが、sp_attach_db School.mdfをマスタにしようとすると同じエラーが発生します。

SQL Serverをローカルシステムで実行するように変更しても問題は解決しませんでした。データベースファイルに対する完全な読み取り/書き込み権限があります。

このデータベースに接続しようとすると、他のアプリケーションは実行されません。SQL Server Management Studioでなく、タスクマネージャごとに、マシン上で実行されているsqlservr.exeのインスタンスは1つだけです。

ありがとうございました。 -David

+0

ファイル共有違反のエラーで接続文字列が何をしなければならないか分かりません。 – usr

答えて

0

エラーメッセージを読んだことがありますか?明らかに、誰かがそのファイルを開いているので、SQL Serverはそのファイルにアクセスできません。

Sysinternals Process Explorerを使用して開いているものを把握してください。

+0

お返事ありがとうございます。プロセスエクスプローラを実行した後、このファイルに接続されている唯一のプロセスは、サービスとして実行されているSQL Server(sqlservr.exe)だけです。だから問題は、ユーザーインターフェイス= Falseのときにこのファイルにアクセスする別の接続を許可する方法ですか?ありがとう。 – user1326717

+0

SQL Serverを再起動し、データベースを通常のデータベースとして接続します。次に、接続文字列を、パスではなく名前でデータベースに設定します。 – usr

関連する問題