TSQLConnectionで再接続するには?


嘉乃  2003-08-08 08:02:53  No: 4367

疑問に思った事があるので知っている方居りましたら知恵をお貸しください。
dbExpressを使用した場合の話です。
以下のコードを用いてoracleに接続したとします。

SQLConnection := TSQLConnection.Create(Application.Owner);
SQLConnection.DriverName := 'Oracle';
SQLConnection.LibraryName := 'dbexpora.dll';
SQLConnection.VendorLib := 'oci.dll';
SQLConnection.GetDriverFunc := 'getSQLDriverORACLE';
SQLConnection.Params.Values['DataBase'] := 'hoehoe';
SQLConnection.Params.Values['User_Name'] := 'hoehoe';
SQLConnection.Params.Values['Password'] := 'hoehoe';
SQLConnection.Open;
SQLConnection.Close;
SQLConnection.Open;

コードの最後の部分で一度Closeをしてからもう一度Openをしています。
これはなんらかの原因でコネクションが切れた時に再接続出来るかどうかのテストをしているのだと思ってください。
このコードを実行するとClose後のOpenでエラーが発生します。皆さんはdbExpress使用時にどのようにして再接続を行っているのでしょうか?
Close時に内部的にインスタンスが解放されてしまっているのかと思いCreateから各種パラメータを再設定しても現象は変わりませんでした。


にしの  2003-08-08 20:06:12  No: 4368

KeepConnectionの設定はしていますか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加