2017-06-09 12 views
4

IISにWebサイトを展開し、接続文字列を使用してデータベースにアクセスしようとしています。IISにWebサイトを展開してSQL Server 2012に接続するとネットワークが見つかりません。エラー

私は次の方法でそれをテストしてきたように私のSQL Serverとの接続文字列が正しいです:

  1. 私の開発環境のストリームデータを正しく
  2. 私は、SQL Serverから見ることができたとしてSQL Serverへの接続が良好ですManagement Studio
  3. 配備されている他のページのWebサイトが正しく、データをストリームするページだけが失敗しています。

問題はIIS Webサイトのみでこのエラーが発生し、Visual Studioから実行したときに問題がないことです。

Stack trace error

私の接続文字列:ここ

は私が得るスタックコードがある

<add name="cnnSQLDB" 
    connectionString="server=**********;database=*********;Integrated Security=True;User ID=******;Password=******;" 
    providerName="System.Data.SqlClient"/> 
+0

私にはファイアウォールの問題のような音がします。あなたのWebサーバーからSQL Serverにpingできますか?ポートはSQL Server用に開いていますか? –

+0

SQL Serverポートは開いていますか? SQLトラフィックが通過するには、ポート1433を開いておく必要があります。 –

+3

あなたの接続文字列は間違っていると思います。統合されたセキュリティとユーザー名とパスワードの両方を使用しています。 https://www.connectionstrings.com/sql-server/ –

答えて

0

ポート1433がファイアウォール上で開いていることを確認してください。それはSQL Serverが使用するポートです。

+0

私はこれをテストした方法は、私は次のコマンド 'telnet 1433'を使用して、私は次のメッセージが表示されます...ポート23でホストへの接続を開くことができませんでした:接続に失敗しました。 – user2140740

+0

使用する構文は次のとおりです。 telnet sqlservername 1433 – seagulledge

+1

@seagulledge 'telnet sqlservername 1433'を試してみると空白の画面が表示されます。これは、ポートがsql接続用に開いていることを意味します。ファイアウォールがリクエストをブロックしている可能性がありますか? – user2140740

0

ここで提供されているヒントに基づいてこの問題を解決できました。

  1. SQL接続文字列を更新し、 "Integrated security = false"を設定してください。このようにして、SQL接続文字列で提供されるログイン資格情報が使用されます。
  2. SQL接続文字列で指定された新しいユーザーを作成し、必要なアクセス権を付与します。
  3. データベースを運用環境から新しい環境にコピーしたときに、接続文字列に記載されているユーザーのGRANT権限が更新されませんでした。

しかし、 'sp_readerrorlog'コマンドでポートの状態を確認することで、私に手がかりを与えてくれました。私を助けた他のリンク:thisthis

+0

あなたはそれを理解してうれしいです。 –

関連する問題