1

asp.net でログイン コントロールを使用します。このコントロールは、app_data フォルダーに aspnetdb.mdf ファイルを作成します。このデータベースに接続するためのコードが Web 構成にありません。ローカル Web では正しく機能していますが、II 上の Web が aspnetdb に接続できない場合。Web構成でaspnetdbへの接続を管理する方法は? web.config で follow cod を使用していますが、aspnetdb が sqlserver にアタッチすると Web が機能しません:

<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />
4

1 に答える 1

1

1 つの観察事項はmdf、接続文字列でファイルの完全なパスを指定していることです。|DataDirectory|ディレクトリは自動的にフォルダを指しApp_Dateます。そのため、ファイルの完全な物理パスを指定する必要はありませんmdf。これも機能するはずです-

<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />

ファイルに直接接続するには、マシンにインストールmdfする必要があります。SQLEXPRESSWeb サーバーにSQLEXPRESSインスタンスがインストールされているかどうかを確認します。

代わりにファイルをMSSQLSERVERインスタンスに添付する場合。次に、接続文字列を次のように変更する必要があります-

<add name="ApplicationServices"
         connectionString="data source=(local);Initial Catalog=ASPNETDB;Integrated Security=SSPI;User Instance=true" providerName="System.Data.SqlClient" />

この接続文字列がローカル マシンで機能しない場合は、両方を保持し、web.config一方をコメント アウトすることができます。このようなもの -

<!-- LOCAL -->
<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />
<!--REAL-->
<!--<add name="ApplicationServices"
         connectionString="data source=.\SQLMIRZA;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.MDF;User Instance=true"
     providerName="System.Data.SqlClient" />-->

ここでは、リアル/Web 接続文字列をコメントアウトしたので、ローカル マシンで動作します。展開する前に、コメントを逆にするだけで、Web 上で動作します。

于 2013-11-11T07:11:29.470 に答える