0

過去2日間、展開サーバーで接続文字列のさまざまなバリエーションを使用してGoogle(およびここ)を調べました...髪の毛が残っていたら、今までに抜いていたでしょう... ;)

開発用の Win7 ボックスで完全に動作するアプリケーションがあり、ベータ版にする前にテスト サーバーに展開する作業を行っています。

テスト サーバーは、IIS 7 を搭載した Windows 2008 R2 です。

アプリケーションを IIS にデプロイでき、サイトが表示されます。

しかし、ローカル ホストで実行されている SQL Server Express に接続するページに到達すると、そのページは停止します。また、データベースは SQL Server Express インスタンスに既に存在しており、そのデータベースに接続すると、Winforms とサービス アプリケーションがうまく機能することにも言及する必要があります。

Myweb.configには、次の接続文字列が含まれています。

<add name="OIDEntities" 
     connectionString="metadata=res://*/Models.OID.csdl|res://*/Models.OID.ssdl|res://*/Models.OID.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=OID;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

私が得るエラーは次のとおりです。

基になるプロバイダーが Open で失敗しました。

nt authority\network serviceSQL Server のサービスを(アプリ プールと一致するように)リセットしようとしました。また、SQL Server ユーザーを作成し、次の接続文字列を使用してみました。

<add name="OIDEntities" 
     connectionString="metadata=res://*/Models.OID.csdl|res://*/Models.OID.ssdl|res://*/Models.OID.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=OID;User ID=OID_User;Password=MyPrivatePAss;MultipleActiveResultSets=True;Application Name=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

SQL Server構成マネージャーに入り、名前付きパイプを構成/有効にしてからTCP/IPを構成し、ホストIPを使用して接続文字列のserver =を介して接続しました。

ユーザー名/パスワードを使用して SQL Server Management Studio にログインでき、IP と のインスタンス名を使用することもできます.\SQLExpress

私は何が欠けていますか?

4

1 に答える 1

0

OK、これを理解するのに 3 日しかかかりませんでした... 次のコードを error.cshtml に追加しました: `@Html.DisplayFor(model => model.ActionName)

@Html.DisplayFor(モデル => モデル.コントローラー名)

@Html.DisplayFor(model => model.Exception.Source)

@Html.DisplayFor(model => model.Exception.InnerException)

@Html.DisplayFor(model => model.Exception)`

これにより、IIS APPPOOL\[PoolName] にアクセスできないことがわかりました。これを次の手順で SQL 構成に追加しました: Add IIS 7 AppPool Identities as SQL Server Logons

于 2013-02-25T00:03:26.037 に答える