- PR -

マルチスレッド

1
投稿者投稿内容
VB初心者
常連さん
会議室デビュー日: 2008/09/29
投稿数: 20
投稿日時: 2008-11-06 14:45
VB、オラクル共に初心者です。

現在、無線ハンディターミナルから、サーバ内DBを更新する
アプリケーションを、メーカー様から提供されたサンプルを
元に開発しております。
(サンプルはVB2005のマルチスレッド機能を有する)

サンプルの構造は、メインの中で無線端末からのコマンドを
受信し、DBアクセスし、処理結果を無線端末へ送信する
クラスを別スレッド(マルチスレッド)で動作させ、送信結果
の受信をメインで行っております。

現在、タイムアウト等で送信結果がエラーとなった場合に、
DBのトランザクションをロールバックさせる仕組みを
追加しており、基本的にはメインで送信結果エラーを判定
してロールバックするように、組み込んでみたのですが、
途中でDBをクローズしていないのに、クローズされて
いる状態でエラーとなりました。

別スレッド(マルチスレッド)で起動したDBアクセスの
部分では、先頭でDBをオープンし、トランザクションを
開始し、SQL等を実行して結果をハンディへ送信して
いるだけですが、スレッドが終了すると、クローズされて
いる状態です。

このスレッドで開始されたトランザクションに対して、
メインからロールバックさせる事は可能でしょうか?
(スレッド内のトランザクション情報をメインに渡す?)

何かアドバイスを頂ければ幸いですが、初心者につき
説明が足りない部分等あれば、ご指摘願います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-11-06 19:57
引用:

VB初心者さんの書き込み (2008-11-06 14:45) より:

このスレッドで開始されたトランザクションに対して、
メインからロールバックさせる事は可能でしょうか?
(スレッド内のトランザクション情報をメインに渡す?)


というよりは同期を取る仕組みを作り、同期が取れている場所でロールバックですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-11-06 22:00
DBアクセス専用のスレッドを起動して常駐させて下さい。
VB初心者
常連さん
会議室デビュー日: 2008/09/29
投稿数: 20
投稿日時: 2008-11-25 16:18
ご返答、ありがとうございました。
参考にさせて頂きます。
1

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