1

データベースのデータにアクセスするために Entity Framework を使用しています。これは MVC アプリケーションであり、ローカルで正常に動作します。アプリケーションをホスティング (Parallels Plesk Panel、MS ホスティング) にデプロイすると、SQL サーバー インスタンスへのアクセスで問題が発生します。cPanel には、接続文字列を保持するオプションがあります。LocalSqlServer:

data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true xContainer:metadata=res:// /Models.x.csdl|res:// /Models.x.ssdl|res ://*/Models.x.msl;provider=System.Data.SqlClient;provider 接続文字列=

サイトをアップロードすると、xContainer が単独で生成されます。SQL サーバーのインスタンス名を見つけて、それをデータ ソースに適用しました。私の web.config ファイルでは、xContainer を使用しています。connection string=この段落の後のコードは、xContainer の の後に追加するのが論理的に思われるものです。

これをさまざまなプロパティで試しました。データ ソース、初期カタログ、およびその他の情報が conn 文字列に入力されます (ここでは / のみを表示しています)。

Data Source=x;Initial Catalog=/;Persist Security Info=True;User ID=/;Password=/;MultipleActiveResultSets=True providerName=

SQL Server インスタンスが見つからないというエラーが表示されます。コンテナーに最後のコードを追加すると、 がないことがproviderNameわかりproviderNameます。

metadata=res:// /Models.x.csdl|res:// /Models.x.ssdl|res://*/Models.x.msl;provider=System.Data.SqlClient;provider connection string=

4

2 に答える 2

0
The error I receive is that the **sql server instance cannot be found**.

では、SQL インスタンス名は何ですか? :)

「.\SQLEXPRESS」ではなく、「.\SQLEXPRESS2012」または「.\MSSQLSERVER」などです。

于 2013-09-13T09:22:34.550 に答える
0

Web.Configファイルを手動で編集する必要があります。ASP.NET 設定ページでは、providerName.

を使用した接続文字列の例をEntityClient以下に示します。エンティティ モデルを使用していない場合は、メタデータ情報を削除できます。providerNameが実際のものではないことに気付くでしょうconnectionString。これが、ファイルを手動で編集する必要がある理由です。

connectionString="metadata=ModelInformation;provider=System.Data.SqlClient;provider connection string="data source=IP;initial catalog=DATABASE;User ID=USERNAME;Password=PASSWORD;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient"

于 2015-02-13T17:39:29.477 に答える