- PR -

.NET Framework 1.1のアプリからSqlServer2005に接続できない!

1
投稿者投稿内容
さとくんパパ♪
常連さん
会議室デビュー日: 2004/05/07
投稿数: 29
投稿日時: 2007-11-09 13:22
こんにちは、さとくんパパこと古谷です。お世話になっています。

--------------------------------
1.問題点
--------------------------------

ある環境において、Visual Studio 2003で作成した.NET Framework 1.1準拠
のアプリから、SQL Server 2005への接続が出来なくなってしまいました。
アプリからだけではなく、クエリアナライザー等からも接続できません。


--------------------------------
2.環境
--------------------------------

◆.NETアプリ環境
----------------
OS=Win-XP SP2、Visual Studio2003、MDAC2.8、SQL Server 2000のクライア
ント(クエリアナライザ等)がインストールされている。
.NET Framework2.0やSQL Native Clientはインストールされていない。

◆SQL Server 2005
----------------
OS=Windows2003サーバ、開発環境とは異なるネットワーク環境下にある。

◆ネットワーク環境
----------------
・.NETアプリ開発環境とDBサーバ環境は互いに遠隔地にあり、双方は
 通信速度100MbpsのVPNで接続されている。
 
・サーバ側のファイアウォールではクライアント(=開発環境)からの
 TCP要求に対して、ポート1433を開けている。 
 
・両者のTCP環境はクラスCで、セグメントは異なる。(=が互いにPINGは
 通ることを確認している。)


--------------------------------
3.開発環境内のSQLサーバ2005には接続可能
--------------------------------

ただし開発環境のネットワーク内に存在するSQLサーバとは接続可能です。
アプリからもクエリーアナライザーからも問題なく接続できます。
SQLサーバ2005のバージョンは共にEnterpriseEditionです。
アプリからの接続文字列もサーバ名を除けば同一です。

Server=[サーバ名];UID=[ユーザ名];PWD=[パスワード];Database=[DB名]
※)サーバ名は[サーバのIPアドレス]\\[インスタンス名]です。
 SQLサーバは名前つきインスタンスとしてインストールしております。


--------------------------------
4.知りたい事
--------------------------------

上記の問題を解決する方法、ヒント、糸口、考え方等、ご意見をお寄せ下さい。

以上、よろしくお願いいたします。
さとくんパパ♪
常連さん
会議室デビュー日: 2004/05/07
投稿数: 29
投稿日時: 2007-11-09 13:33
自己レスです。

何とこのスレッドに上げた直後に、部内のインフラチームの若手が解決方法を
見つけ出してきましたので、ここにその方法をアップして皆さんでこの情報を
吟味&共有したいと思います。

--------------------------------
解決方法(というか対処方法)
--------------------------------

『DB接続を行う側の開発環境のHOSTSファイルに接続先DBの保存してあるサーバ名
をレコードとして追加する。』

こうすると上記問題点が解決され、クエリーアナライザーでも.NETアプリ(frmae
work1.1)からも問題なく接続できるようになります。

※)DBへの接続設定には.NETアプリもクエリーアナライザーもいずれもIPアドレス
 で接続試行しているため、何故DBサーバの名前解決がこの問題の解決策になるの
 かは全く不明です。でも間違いなく、これをやると接続できるし、やらないと接続
 出来ません。

※)このトピックはあくまでVisual Studio2003で作成したアプリについての事項
 です。Visual Studio 2005アプリではまだ試していませんが、これはDBProvider
 としてSNACを使用するため、まずはこんなことしなくても大丈夫だとは思います。


以上、同じような問題でお悩みの方に多少なりともヒントとなればよいかと。。。
1

スキルアップ/キャリアアップ(JOB@IT)