0

EntLib 5.0 を使用して、MVC アプリからストアド プロシージャを呼び出そうとしています。これが私の接続文字列です(SQL Server 2008の場合):

サーバー=ローカル;データベース=テスト;Trusted_Connection=True

次のエラーが表示されます。

An attempt to attach an auto-named database for file 
C:\dev\pestsApp_Data\aspnetdb.mdf failed. A database with 
the same name exists, or specified file cannot be opened, 
or it is located on UNC share.

EntLib が、データベースが配置されているディレクトリ (既定の場所) ではなく、ソース コード ディレクトリを検索するのはなぜですか? 私のデータベースの実際の場所は次のとおりです。

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA

EntLib をそのデータベースに接続するにはどうすればよいですか?

4

1 に答える 1

1

web.config では、接続文字列セクションの先頭に a を配置する必要があります。そうしないと、アプリケーションは既定でルート web.config で定義されている接続文字列を継承します。

そう:

  <connectionStrings>
     <clear/>
     <add name="DefaultConnection" connectionString="Server=local;Database=Test;Trusted_Connection=True" />
  </connectionStrings>

この問題は、EntLib 5.0 とは関係ありません。

おそらくタイプミス?

C:\dev\pestsApp_Data\aspnetdb.mdf => C:\dev\pests\App_Data\aspnetdb.mdf

また、アプリケーションは C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA? にアクセスできます。デフォルトではできませんでした。

于 2012-04-25T18:28:32.247 に答える