0

これをサーバーに公開すると機能しないため、接続文字列が間違っているかどうか疑問に思っています。それ以外の場合は、デバッグモードでテストすると機能します。

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-app-20130122205025;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-app-20130122205025.mdf"
      providerName="System.Data.SqlClient" />
    <add name="SiteSourceContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=SiteSourceContext-20130125171153; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|SiteSourceContext-20130125171153.mdf"
      providerName="System.Data.SqlClient" />

誰か助けてくれませんか?私は比較的新しく、学習しようとしているので、何をしているのかわかりませんが、これは私が得るエラーです:

[Win32Exception (0x80004005): The specified file is not found]

[SqlException (0x80131904): A network-related error or instance-specific occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (Provider: SQL Network Interfaces, error: 52 - Could not locate installation of a runtime database locally. Verify that SQL Server Express is installed and the runtime functionality of local database is enabled.) ]
   System.Data.SqlClient.SqlInternalConnection.OnError (SqlException exception, Boolean breakConnection, Action `1 wrapCloseInAction) 6675286
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 688
4

4 に答える 4

0

Try Changing This :

Data Source=(LocalDb)\v11.0

To This :

Data Source=.\v11.0

Or This :

Data Source=.\SQLExpress
于 2013-01-26T13:04:31.453 に答える
0

おそらく、開発用コンピューターとサーバーにインストールされている SQL サーバーのインスタンス名が異なる名前になっている可能性があります。したがって、接続文字列を変更する必要があります。SQL Server をインストールしている場合は、インストールする必要があります。

その他の可能性として、SQL Server のインスタンスが実行されていない可能性があります。コントロール パネルから Windows サービスに移動し、データベースを保存した SQL Server サービスが開始されたかどうかを確認できます。SQL Server のインスタンスが複数ある場合は、複数のサービスが存在する可能性があります。正しいインスタンスの接続文字列を使用していることを確認してください。

また、Windows 認証を使用する場合は、データベースで、関連する IIS ユーザー (IIS APPPOOL\DefaultAppPool など) にアクセス優先度を与える必要があります。または、SQL Server 認証を使用できます。

一言で言えば、SQL Server インスタンスの参照に問題があると思います。これを解決した場合、有効な資格情報で DB にアクセスしようとしないと、認証の問題が発生します。

于 2014-02-10T21:03:33.550 に答える
0

SQL Server Express がインストールされ、ローカル データベースのランタイム機能が有効になっていることを確認します。

于 2013-01-26T12:59:52.373 に答える
0

Data Source=(LocalDB)\v11.0を使用すると、データベースを作成/所有するユーザーに資格情報が制限されることに注意してください。これを ASP.NET サービスとして公開する場合、コードは別のユーザーで実行されます。おそらくネットワークサービス。

さらに、接続文字列は、おそらく公開先のサーバーではなく、開発環境にのみ存在するファイルを指定しているようです。そのサーバーに SQLExpress をインストールし、それにアクセスするための接続文字列を設定する必要があります。私は使いませんData Source=(LocalDB)\v11.0;; 代わりに、開発環境と展開の間の一貫性を維持するためにData Source=localhost\SQLEXPRESS;orを使用します。Data Source=.\SQLEXPRESS

于 2014-02-06T17:20:21.827 に答える