2012-05-06 20 views
0

スタックオーバーフローとMSDNでこのような他の質問を読みましたが、この問題の解決策はまだ見つかりません。IISはSQL Server 2008R2に接続できません

私の開発マシンはVS2010SP1とIIS7を実行しています。 IIS7は.Netフレームワークの後にインストールされたので、私は手動でウェブサイトを設定しなければなりませんでした。私は、Casinniを使うのではなく、ローカルにIISにアプリケーションを配備しています。

環境:

  • のVisual Studio 2010 Win7の64ビット(のdevのマシン)
  • 上のWin7の64ビット(のdevのマシン)Win2008(サーバー)上で実行されている
  • SQL Server 2008の
上で実行されているIIS

Visual StudioのWebサイトのオプションでは、IISを使用して[仮想ディレクトリの作成]を選択します。これは動作します(つまり、ディレクトリが正常に作成されます)。

しかし、私は、私が言ってSQL接続エラーを取得するアプリケーション実行します。 は、SQL Serverにconeectionを確立しながら、

をネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、 にアクセスできませんでした。インスタンス名が正しいこと、および SQL Serverがリモート接続を許可するように構成されていることを確認します。

SQL Serverはリモート接続を許可するように構成されており、同じ資格情報(現在のsaアカウントとはい、私はそれが悪いことを知っているので、後で変更する予定です)これは開発目的のためだけです)。

LocalSqlServerのファイルをLocalSqlServerに変更しようとしましたが、サーバーがリモートでローカルではないにもかかわらず、サーバーを指すようにしました。

私もweb.configファイルにこれを追加してみました:

<remove name="LocalSqlServer" /> 
<add name="LocalSqlServer" 
    connectionString="Data Source=esdc01;Initial Catalog=ECS;Persist Security Info=True;User ID=sa;Password=******;MultipleActiveResultSets=True;Network Library=dbnmpntw;" 
    providerName="System.Data.SqlClient" /> 

web.config内の接続文字列が正しいです。

私はVS2010でWebサイトのプロパティに移動し、 "Visual Studio開発サーバーを使用する"に変更すると、アプリケーションは正常に動作し、SQL Serverに接続します。

IISを使用すると、web.configまたはmachine.configの接続文字列がアクセスされているようです... IISは接続文字列をどこで探していますか?私はうんざりです!

サーバーでは、名前付きパイプとTCP/IPの両方が有効になっています。

+0

FYIサーバ名esdc01をサーバのIPアドレスに置き換えると、それでも動作しません。 – rmcsharry

答えて

0

あなたは、Named PipesとTCP/IPがサーバー上で有効になっていると言っています。

"Network Library = dbnmpntw"要素を削除してみます。それでも問題が解決しない場合は、「Network Library = dbmssocn」に変更し、TCP/IPを使用して接続するかどうかを確認してください。

+0

ありがとう、私は両方を試みてどちらの仕事もしませんでした。少なくとも私はCasinniで動作しますが、dbnmpntw設定を使用しているのに対し、私はCasinni開発サーバーとIISを使用していないと動作しません。 – rmcsharry

関連する問題