• 締切済み

VBとSQLServerのセッションが切れる時のイベント

お世話になっております。 VB6.0、SQLServerを利用して開発を行っています。 セッションが切れてしまうことで不具合が生じていて現在対応のため調査しているのですが・・・ VBのイベントでセッションが切れる瞬間のイベントというのは存在するのでしょうか?

みんなの回答

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.5

ミドルウェアは? ADO?RDO? 下記で取れませんか? ADOの場合。 Dim WithEvents adocon As ADODB.Connection Private Sub adocon_Disconnect(adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) '処理を記述 End Sub RDOの場合。 Dim WithEvents rdocon As RDO.rdoConnection Private Sub rdocon_Disconnect() '処理を記述 End Sub なんとなく、無理そうですが。

rokiko_d-_-b
質問者

お礼

ADOです。 やってみます! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

自分のDBアプリの作るときのやり方ですが 接続しっぱなしではなくて必要なときに接続して 必要なくなったらすぐに閉じます。 画面にDBの情報を出したいときに接続して 表示したら接続を切りデータをいじりたいときや 追加したいときに接続してその処理が終了したら すぐに切ります。 ですからフォームを閉じる時って状態まで 接続しっぱなしにはしないですね。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

>ある画面のフォームを閉じたときにDBのワークを削除する処理が unloadイベントでその処理をやっていると言うことですか? とりあえずのその処理周りをワンステップずつ確認しながら 実行してみるのは?

rokiko_d-_-b
質問者

補足

unloadイベントでワークを削除しています。 ただ、(メタフレームを利用しているため)セッションが切れてしまうとUnloadイベントは処理されないのです。 なのでDBとの接続のセッションが切れるタイミングをなんとか取りたいと考えています。ただ、そのイベントを取得してワークを削除する処理を実行したらまたセッションが維持されますね。。。

全文を見る
すると、全ての回答が全文表示されます。
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>セッションが切れる瞬間のイベント 切れる時のイベントはないと思うのですが 例えば Dim rcd As Long On Local Error Resume Next ・・処理・・ rcd = Err On Local Error GoTo 0 If rcd <> 0 Then ・・・ end のようにエラーをトラップするとか ADOのエラーコレクションを使ってado宣言名.errors.countでエラーの数を参照するとか。

rokiko_d-_-b
質問者

補足

やはりセッションが切れるタイミングのイベントってないんですね・・・。 困りました… 状況としましては、プログラム的には問題なく動いていて、エラーとラップを利用して回避できるような状況ではないんです。 セッションが切れる瞬間にDBのワークを削除してからセッションが切れるというのが理想なんです。でも実現したとしても、DB削除が実行されたらセッションは持続されますね・・・仕様的に問題なのか疑問もありますが。

全文を見る
すると、全ての回答が全文表示されます。
noname#187541
noname#187541
回答No.1

こんにちは。 どんな不具合か分かりませんが、エラーになるのなら On Error Resumn Next や On Error Goto 等でエラー処理をすればいいのでは?

rokiko_d-_-b
質問者

補足

記述が少なくてすみません。 システムエラーなどの不具合ではないんです。 これはシステムの構造的な問題なのですが、 ある画面のフォームを閉じたときにDBのワークを削除する処理が 実行されているのですが、その処理が実行されずに セッションが切れてしまうと次回起動時にワークにデータが 残っているため起動できないという現象が発生してしまうんです。 ただ、起動時に削除するわけにはいかない仕様が盛り込まれているため、 セッションタイムアウト時のイベントがどうしても取得したいのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB6.0とSQLServer2005の相性について

    現在、WinNT上のSQLServer6.5でデータを管理し、 VB6.0で業務管理システムの開発をしています。 Windows Server 2003上にSQLServer2005をのせての、 サーバー新設を検討中です。 開発においては従来どおりVB6.0でやっていくつもりですが、 SQLServer2005とVB6.0相性はどうなのでしょうか? 同じような環境で開発されている方、その他お分かりになる方、 是非、ご助言、ご意見をお願いします! それと、VB2005はVB6.0からどのような部分が変わっていますか? 基本的な部分は同じなのでしょうか? 使い勝手はどうでしょうか? 合わせて、ご助言、ご意見をお願いします!

  • VB6でSQLServerへADO接続するとOPENがすごく遅いんです。

    お世話になってます。 今、VB6.0で作成したシステム(ADOでACCESS2000に接続)をSQLServerに移行しています。 しかしDBの初回OPEN時に5秒くらいかかってしまいます。 原因を探しているのですが、どうしても見つかりません。 誰かご存知の方がいらっしゃいましたら、ご教示お願いします。 開発環境は以下の通りです。 OS:WindowsXP SP2 開発言語:VB6.0 SP5 データベース:SQLServer2005 ADO:ADO2.5

  • VBからSQLServer2005のデータベースを最適化するには?

    WindowsXP,VB6.0.SP6にて開発しております。 タイトルの通りですが、SQLServer2005のデータベースを最適化したいのです。 色々調べましたところ、ACCESSでの最適化は見つかるのですが、 SQLサーバーでのやり方が見つかりませんでした。 どうか、ご存知の方いらっしゃいましたら、 ご教授よろしくお願いしますm(_ _)m

  • VB2005とSQLServer2005の開発

    いつもご参考にさせて頂いております。 今回VB2005ProfessionalとSQLServer 2005Developer Editionでシステムを開発しようと考えております。PCはWin7Pro64bitです。 VB2005は少し経験があるのですが、SQL Serverを使用するのが初めてです。 以前はSQLServerの代わりにAccessをデータベースとして使用していました。 そこでご質問です。 SQLServerもAccessと同様にOracle10gと接続し、 出来たデータベースをサーバー又は端末にセットし、 数人が使用できるシステムを構築することは可能でしょうか? 実際プログラムを使用するPCはVista32bit or Win7 32bitです。 ※システムはデータの取込、出力、新規作成、更新、削除等一通りの動作をします。 又、この様な構築に関して詳しく解説している本など参考(勉強)になるものがございましたら、是非教えてください。 SQLServerに関して素人なので、どなたかご教授宜しくお願い致します。

  • VB2005 SQLServer Timeout

    - プログラムの動作要件 WindowsServer2003 R2 Sp2 (X64) VS2005 VB.NET - 開発ツール、テクノロジ (製品/テクノロジ名、バージョン、エディション、サービスパック) VS2005 Vb.NET Version 8.0.50727.42 FrameworkVersion 2.0.50727 SP2 - ビジネス フェーズ (実装) ・SQLServer2005のバックアップ、リストア専用Toolの作成 Microsoft.SqlServer.Smo、Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.SqlEnum、Microsoft.SqlServer.SmoEnumを参照設定し、 SQL Server 2005の指定したデータベースをバックアップ、リストアを行うモジュールを作成しました。、 - 内容 大きなデータベースをバックアップしようとすると10分程度でタイムアウトしてしまいます。 ConnectionContext.ConnectTimeoutを設定してみましたが、変化がございません。 実行時のタイムアウト設定は、どのようにすれば、可能なのでしょうか?

  • SQLServerサービスマネージャの開始・停止をVB6からするには?

    WindowsXP,VB6,SP6,MSDEにて開発しています。 タイトルの通りですが、 VBからSQLServerサービスマネージャの開始・停止をしたいのですが、 どういった方法がありますでしょうか? 色々考えたり調べたりしたのですが、どうしてもわかりません。 どうぞ、ご教授よろしくお願いしますm(_ _)m

  • 【VB】タブ切り替え時のイベント

    いつもお世話になります。バージョンはVB2005です。 フォームにTabControlを配置し、適当にタブ(TabPage1~3)を追加しています。 それぞれのタブを切り替えたときに発生するイベントがわかりません。(><) Clickイベント、CursorChangedイベント、Gotfocusなどなどいろいろ試してみましたが駄目でした。 おわかりの方、どうかご教授ください。

  • VB2005 のイベントについて

    いつもお世話になっています。 OS:Windows 2000 言語:VB2005 Express Edition で作成しているのですが、イベントの質問があります。 TextBoxのフォーカスを取得した時に、 そのTextBoxに設定されている文字列を選択させようと思い TextBoxのEnterイベントでSelectAllをしているのですが、 この場合ですと、マウスでクリック選択した時には文字列が選択されません。 Private Sub txt_id_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txt_id.Enter txt_id.SelectAll() End Sub VB6.0 では Private Sub txt_id_GotFocus txt_id.SelStart = 0 txt_id.SelLength = Len(ob_Textbox.Text) End Sub 上記の通り、GotFocusイベントを使用しており、Tabキーでフォーカス取得していた時も マウスで選択している時も変わらず文字列は選択されていました。 VB2005のGotFocusイベントでは、一旦選択されるのですが すぐに選択は解除されてしまうのです。 他にVB6.0のGotFocusと同等のイベントや、対応策などありませんでしょうか? よろしくおねがいいたします。

  • AccessとSQLServerでの開発について

    はじめまして、今回はじめて、Access2003とSQLServer2000で開発することになりました。 現在、データベースの排他制御について調査しております。 排他の種類と方法について、わかりやすく解説しているホームページ、書籍がありましたら教えてもらえませんか? また、Access2003とSQLServer2000で開発時の注意点なども解説しているページがありましたら、お願いします。 漠然として申し分けませんが、情報ありましたら、よろしくお願いいたします。

  • SQLserverライセンス

    初心者です。 VB2005で開発、その際 SQL Serverを使用していました。 インストール設定をし、実行ファイルを別パソコンに入れ 動作確認を行いましたが、SQLServerを使用している 処理のところで「SQL Server 2005 Mobile Edition のこのバージョンは、 運用環境向けにライセンスされていません。」とエラーメッセージが出ます。 VB2005で開発中の時には、SQLserverライセンスを取っていなくても 実行の際、そのようなエラーメッセージは出なかったのですが・・ VB2005の入っていないパソコンだからでしょうか? 分かる方ご教授お願いいたします。

このQ&Aのポイント
  • 富士通FMVを使用している際に、画面が突然真っ黒状態になり、再度画面が戻る現象が発生します。さらに、文字やアイコンも揺れる状態になります。再起動すると問題は解消されますが、同じ機種を使用している友人も同様の問題が発生しているとのことです。
  • この問題は購入してから数ヶ月経った後に発生し始め、現在では5回以上も繰り返し発生しています。購入して1年以上経っているため、設定の問題かどうかについて知りたいです。
  • 問題が解決されるためには再起動が必要ですが、この問題が頻繁に発生するため、使い勝手が悪くなっています。同じ機種を使用している友人も同様の問題が発生しているため、製品自体に何らかの不具合がある可能性が考えられます。
回答を見る

専門家に質問してみよう