古い.net 1.0 webappがあります。私はそれを.net 3.5にアップグレードするために自動アップグレードを使用しましたが(そして2.0も試しましたが)、今はデータベースに接続できません。アップグレード済み.net webappはデータベースへの接続を開けません
これはnoob接続文字列の問題のように見えますが、私はそれがアップグレードの微妙な問題に関連している可能性が高いと考えています。
は、私は一般的なエラーメッセージが表示されます:
サーバーへの接続を確立中にエラーが発生しました。 SQL Server 2005に接続するとき、この障害は、既定の設定ではSQL Serverがリモート接続を許可しないという事実によって引き起こされる可能性があります。 (プロバイダー:パイププロバイダ名前、エラー:40 - SQL Serverへの接続を開けませんでした):
protected static SqlConnection objConn;
objConn = new SqlConnection(strConnectionString);
try
{
objConn.Open();
}
ととしても、それを試してみました
ソースコードは、鐘や笛なしで、かなり基本的なものです:
using (objConn = new SqlConnection(strConnectionString))
{
objConn.Open();
...
}
接続文字列は、ブレークポイントを設定し、それを開こうとする前に、接続のプロパティに目を通すために、デバッガを使用してweb.configから来て、そして、私はその接続を見つけることがわかります文字列は正しく:
たconnectionString = "データソース= XXX.XXX.XXX.XXX;初期カタログ= XXXXXX;ユーザーID = XXXXXX;パスワード= XXXXXX"
私は除外したと思うもののほんの一握り:
エラーメッセージは同じであるSQL Server 2005またはSQL Server 2000
VSエラーリストにエラーや警告に接続するかどうか。
接続文字列は、同じデータベースを使用する他のいくつかのWebサイトと同じです。したがって、接続文字列が正しいことがわかります。
ローカルコンピュータ(SQLクエリアナライザ経由でデータベースに接続できる)と通常のWebサーバーから接続しようとしました。ファイアウォールの問題ではなく、最大接続の問題もありません。
そのコンピュータではなくブラウザの問題(および他のWebアプリケーションが正常に接続できるように、サーバーのIPアドレスに接続します。
TCPと名前付きパイプがSQL Serverで有効になって2つのネットワークプロトコルです。
を"ネットワークライブラリ= DBMSSOCN;"を接続文字列に追加すると、エラーメッセージに "プロバイダ:TCPプロバイダ、エラー"が含まれます(先日接続文字列に変更がありましたが、今何を覚えていますか?)
私はすでに、スタックオーバーフロー上の3件の他の同様の記事に目を通してきました。(他の誰かが、それらにリンクしたい場合、私は新しいユーザーだからここにリンクをリストが、その質問のIDのことはできません
、63875 1038888、846479)
し、別のサイトでこの記事はそれはどちらか助けていないしようとするもののいくつかの良いアイデアを持っていた::コメントはあり
http://weblogs.sqlteam.com/tarad/archive/2008/05/23/60609.aspx
私の最高の推測では、その何かがによって引き起こされるということです.netバージョン間のアップグレード - おそらくweb.configの何か間違い?
かなり小さい/基本的なC#アプリですが、3つのプロジェクトに分割されています。
3.5にアップデートするとき、私は何かを確認したい:あなたは3.5sp1かベース3.5だけですか? –
また、同じサーバーから同じ接続文字列を使用してデータベースに接続できますか? –
SQL Server Managementスタジオ(またはクエリアナライザ)を使用して接続することができますが、問題が発生したマシンでもテストしましたか? – Gertjan