tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル時間切れ
記事No15572
投稿日: 2012/08/13(Mon) 16:17
投稿者フレイズ
はじめまして。フレイズと申します。

OS:Windows XP SP2
言語:VB6 SP6
DB:SQL Server 2008 R2

ADO 2.8 にて、以下のような接続文字列で、SQL Serverに接続しています。
   UID=user1;PWD=****;provider=SQLOLEDB;server=sv1\instance1;database=db1;

exeを作ってローカルマシン上で実行すると正常に接続できるのですが、
ネットワーク上のマシンにコピーして実行すると、
    (例えば \\sv2 を開いてexeをコピーし、それを実行)
「時間切れです。」のエラーになって接続できないのです。

これは何かセキュリティ系の問題でしょうか?

ちなみに、上記は、SQL Serverの名前付きインスタンスへの接続ですが、
既定インスタンスへの接続であれば、ネットワーク上のマシンにコピーして実行しても
正常に接続できるようです。

何かヒントになるような情報をいただけますと幸いでございます。
宜しくお願い申し上げます。

[ツリー表示へ]
タイトルRe: 時間切れ
記事No15576
投稿日: 2012/08/14(Tue) 10:38
投稿者VBレスキュー(花ちゃん)
> 「時間切れです。」のエラーになって接続できないのです。
ConnectionTimeout プロパティ の設定値(既定値=15秒?)を変更しても同じですか?

[ツリー表示へ]
タイトルRe^2: 時間切れ
記事No15578
投稿日: 2012/08/14(Tue) 17:12
投稿者フレイズ
> ConnectionTimeout プロパティ の設定値(既定値=15秒?)を変更しても同じですか?

ご返信ありがとうございます。
こちらは、明日試してみようと思います。
(今は試せる環境がない場所にいるので。)

ローカルドライブ上のexeを実行 → 問題なく。すぐに接続できる。
ネットワーク上のマシンにコピーして実行 → ConnectionTimeoutの経過後、「時間切れです。」

という挙動なので、もっと長く設定すると接続できるのか?を試してみます。
コピーしただけの同じexeなのに・・・不思議です。

[ツリー表示へ]
タイトルRe^3: 時間切れ
記事No15579
投稿日: 2012/08/14(Tue) 22:05
投稿者ミッキー
横槍で失礼します。

そのローカルドライブとネットワーク上のマシンのネットワーク環境ですが、
SQLデータベースがあるサーバーのみ、ローカルドライブと同じ
ネットワークエリアにありませんか?
つまり、ネットワーク上のマシンは、SQLサーバーとは異なるエリアにありますか?

異なるエリア(例えば工場の敷地が違う、地域が違うなど)にあるマシン同士で
SQL接続を試みた場合、タイムアウトを起こす可能性があります。
その原因は多々ありますので、一概には言えませんが、例をあげると

・ネットワーク負荷が大きい
・巨大なテーブル(レコード数が多い、フィールドが多いなど)に接続しようとしている
・SQLサーバーのメモリが少ない

などが考えられます。

[ツリー表示へ]
タイトルRe^4: 時間切れ
記事No15580
投稿日: 2012/08/15(Wed) 08:25
投稿者フレイズ
ミッキー様、ご返信ありがとうございます。

> つまり、ネットワーク上のマシンは、SQLサーバーとは異なるエリアにありますか?
元々、事象が発生していたのは、外部エリアにあるSQL Serverでのことでしたが、
同一のLAN環境内でも、同じ事象が発生しました。
しかも名前付きインスタンスの場合だけのようです。

> その原因は多々ありますので、一概には言えませんが、例をあげると
そうですよね。さまざまありそうです。
いろいろと、考えていただきまして、すみません。

とりあえず、これから、VBレスキュー(花ちゃん)様からの
接続タイムアウトまでの時間を延ばしてみて、
うまくいくかどうかを試してみようと思います。

[ツリー表示へ]
タイトルRe^5: 時間切れ -解決-
記事No15581
投稿日: 2012/08/15(Wed) 09:50
投稿者フレイズ
ConnectionTimeout プロパティ の設定値を大きくすることで、
うまく接続できるようになりました。15秒 を 20秒 に変更しました。

VBレスキュー(花ちゃん)様、ミッキー様、ありがとうございました!

[ツリー表示へ]