- - PR -
マルチスレッド
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-06 14:45
VB、オラクル共に初心者です。
現在、無線ハンディターミナルから、サーバ内DBを更新する アプリケーションを、メーカー様から提供されたサンプルを 元に開発しております。 (サンプルはVB2005のマルチスレッド機能を有する) サンプルの構造は、メインの中で無線端末からのコマンドを 受信し、DBアクセスし、処理結果を無線端末へ送信する クラスを別スレッド(マルチスレッド)で動作させ、送信結果 の受信をメインで行っております。 現在、タイムアウト等で送信結果がエラーとなった場合に、 DBのトランザクションをロールバックさせる仕組みを 追加しており、基本的にはメインで送信結果エラーを判定 してロールバックするように、組み込んでみたのですが、 途中でDBをクローズしていないのに、クローズされて いる状態でエラーとなりました。 別スレッド(マルチスレッド)で起動したDBアクセスの 部分では、先頭でDBをオープンし、トランザクションを 開始し、SQL等を実行して結果をハンディへ送信して いるだけですが、スレッドが終了すると、クローズされて いる状態です。 このスレッドで開始されたトランザクションに対して、 メインからロールバックさせる事は可能でしょうか? (スレッド内のトランザクション情報をメインに渡す?) 何かアドバイスを頂ければ幸いですが、初心者につき 説明が足りない部分等あれば、ご指摘願います。 | ||||
|
投稿日時: 2008-11-06 19:57
というよりは同期を取る仕組みを作り、同期が取れている場所でロールバックですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-11-06 22:00
DBアクセス専用のスレッドを起動して常駐させて下さい。
| ||||
|
投稿日時: 2008-11-25 16:18
ご返答、ありがとうございました。
参考にさせて頂きます。 |
1