MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[1182]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(1182番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: SQLConnect() 関数について

Date: Fri, 1 Aug 2003 09:34:20 +0900
From: "Fujisawa Yohei" <who@example.netwk.ntt-at.co.jp>



お世話になっております。 藤沢です。


現在私は言語VC++のADOを用いてSQL
サーバへあれこれしておりますが、結構
落ち着いています。

ADOであればいろいろとアドバイス出来る
と思うのですが、、、

>  DBへの接続処理を行う関数と接続を終了する関数を作成し、その関数を複数の
> スレッドから呼び出します。プログラム起動から数時間は問題なく動作するのです
> が、接続処理を行う関数から突然処理が戻ってこなくなります。
>  詳しく調べてみた結果、SQLConnect()関数から復帰してこない様なのですが、ス
> レッドが死んでいるのか、SQLConnect()関数の中で待ち状態になっているのか判断
> がつきません。

スレッドが死んでいるかどうは自前で監視する必要がありますね。
VC++で過去に試したところ、どうも1アプリあたり2xx個以上のスレ
ッドを作成するとアプリが死んだ経験があります。

私はよくスレッドからSPをコールしますが、同じようにSPを呼んで
いるのであれば、SP側でログを書くとよいと思います。
ログはDOSまたはCOMを使って書きます。

また、ADOですとタイムアウト値を設定できますが、ソースを拝見
した限りでは設定されていないように思われます。
(していたらごめんなさい。)

さらにSQLServer側のエラーをVC++で作成したアプリ側から取得
しておられますでしょうか?
ADOですと、属に言うPrintProviderError(関数名)を使用します。
こいつはMSDN200304月以上でしたら腐るほどサンプルがあり
ます。

まずはエラーを特定する必要があると思います。

>  こんな経験をされた方はいらっしゃいますでしょうか?

よくありまくりました。
エラーと特定していくと解決への近道になるかと思います。

もし問題がなければADOがお勧めかもですね。

簡単に試験したいのであれば、

-----------------------------------------------
--                           _□×--
--                                                                     --
-- [接続A] [接続B] [接続C] ・・・                             --
-- [切断A] [切断B] [切断C] ・・・                             --
--                                                                     --
-- [終了]                                                            --
-----------------------------------------------

上記のようなGUIをつくり、ボタンによって別スレッドから接続・
切断するアプリを生成して、接続時、切断時で正常に動いて
いるか、ログなどに書いて確かめてはどうでしょうか?

全然参考になっていなくて申し訳ありませんが。。。





[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。