0

私はこれで髪を伸ばしてきました。別のマシンに移動したばかりのレガシー アプリ (asp.net 2.0) があり、同じマシン上の SQL Server 2000 データベースに接続しようとしていますが、毎回一般的なエラーで失敗します。

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

奇妙なのは、これが .net アプリ (Windows または Web) のみであることです。Visual Studio の Enterprise Manager、クエリ アナライザー、サーバー エクスプローラーから、Windows または SQL サーバー認証を使用して問題なく接続できます。これはXPマシンでも問題なく動作し、この新しいセットアップはWin 7で

  • SQL Server で TCPIP が有効になっており、ポート 1433 でリッスンしていることを確認しました。
  • サーバーは、混合モード認証用にセットアップされています。接続を試みる両方の方法を試しました。混合モードを削除して、Windows 認証を試してみましたが、それでも機能しませんでした。
  • 正しいサーバー名\インスタンス名と正しい資格情報を使用していることを再確認しました。
  • ファイアウォールでポート 1433 が開いている (問題ではない - 同じマシン)
  • 私は再起動し、サービスなどをチェックしました - 私が言ったように、私は他の方法で接続できるので、それが実行されていることを知っています.

何か案は?基本的に ADO.NET を介して接続文字列を使用することと何が違うのでしょうか?

更新:まあ、それはほとんど面白かったです-この質問を投稿してから数分後にここで答える方法を見つけました(以前は関連していることに気づきませんでしたが): SQL Server接続文字列でポート番号を指定する方法? .

この新しいマシンには、2000 が装着される前に既に SQL Server 2008 Express がインストールされていました。2000 は 1433 でリッスンしていると「言っている」にもかかわらず、おそらくそうではありません。とにかく、2000 インストールのデフォルト ポートを (ランダムに 1633 に) 変更し、接続文字列をサーバー名\インスタンス名からサーバー名、ポートに変更しました。そして、それはロードされました。

うまくいけば、これで誰かが私がやった最後の数時間を過ごすのを防ぐことができます....

4

1 に答える 1

0

数分後、このサイトでさらに調査を行ってこれに回答しました。詳細については、質問の更新を参照してください。

于 2013-08-10T07:29:34.243 に答える