[リストへもどる]
一括表示

投稿時間:2004/01/15(Thu) 12:04
投稿者名:麦わら
Eメール:
URL :
タイトル:
「時間切れです」と表示されるのですが・・。
VBとSQLサーバ2000とをADOを使用して接続させているのですが、

2つ同時に接続させると「時間切れです。」というエラーメッセージが表示されます。

この原因が分かる方がいらっしゃいましたら、どうかアドバイスをお願い致します。

投稿時間:2004/01/15(Thu) 16:08
投稿者名:YG
Eメール:
URL :
タイトル:
Re: 「時間切れです」と表示されるのですが・・。

> 2つ同時に接続させると「時間切れです。」というエラーメッセージが表示されます。

いまいち掴めないんですけど・・・ 2つ同時に接続とは、別々のクライアントPCからの接続ということ

CONNECTION時にタイムアウトを起こすのか、RECORDSETの取得時に起こすのか?どちらでしょう?
ちなみにCONNECTION(接続時)にタイムアウトを起こした事がないので、お答えも難しいのですが。
DB側でタイムアウトの値を設定できると思うのですが。(デフォルトは無制限?)ADOからでもできたよう
な・・・
RECORDSETの取得時であればLockTypeのプロパティの指定あたりでしょうか・・・

投稿時間:2004/01/15(Thu) 16:54
投稿者名:Rossa
Eメール:
URL :
タイトル:
Re:ADO の設定だと
> ADOからでもできたような・・・
> RECORDSETの取得時であればLockTypeのプロパティの指定あたりでしょうか・・・

VB側だと、コネクションのプロパティでタイムアウトの時間を設定できますよ。
cnn.CommandTimeout です。
詳しくは、ヘルプで調べられるとよろしいかと思います。

"接続する"としかかかれていないのですが、接続してどんな作業をしようとしているのでしょうか。
私の経験上、タイムアウトの設定というのは一時凌ぎにしかならないことがよくあります。
データベースをロックしあっているなど、接続した時のお互いの動作をもう一度確認なさって、原因を探ってみた方が良いのではないでしょうか。

投稿時間:2004/01/15(Thu) 17:06
投稿者名:麦わら
Eメール:
URL :
タイトル:
有難う御座います。
レコードセットをオープンした後データを更新する所から
ロックされているようです。
初歩的な質問で申し訳ないのですが、基本的に2つ以上のクライアントが
存在する時でも、データベースは一つずつのクライアントしか更新ができないのでしょうか?

投稿時間:2004/01/15(Thu) 17:17
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: 有難う御座います。
> レコードセットをオープンした後データを更新する所から
> ロックされているようです。

複数の接続(別のトランザクション)から、同時に更新処理が行われていませんか?
ロック状態を監視してみては如何でしょう。

# デッドロックを意識せずに開発すると、後で修正が大変ですよ。
# http://www.unisys.co.jp/club/net_view/20030129.html
# http://www.atmarkit.co.jp/fnetwork/rensai/sql28/sql1.html

なお、ロック自体に関する質問がある場合は、VB向けの掲示板ではなく、
SQL Server 2000向けの掲示板を利用される事をお奨めします。