Delphi7、Firebird1.5を利用したプログラムがあります。
問題となっているPCは7,64bit,Pro,SP1です。
GDBを利用するためにソース内で
ibdbtestDB.Connected := True;
の記述があり、ここで接続するのに1分ほどかかってしまいます。
これが2つあるため起動するのに2分以上かかってしまいます。
ibdbtestDB.DatabaseNameは'localhost:C:\test\TEST.GDB'です。
XPへつなぐときは先頭の'localhost:'を外しています。
他の7,32bitや7,64bitのPCではすぐつながるためこのPC固有の問題だと思うのですが、原因をどのように特定すればよいでしょうか?
また、問題のPCのIBConsoleでlocalhostのサーバーを開こうとすると同じように時間がかかりますが、ネットワーク上の別PCのサーバーはすぐ開けます。
IBConsole上の設定は以下の通りです。
・localhostの設定
サーバー:localhost エリアス名:localhost ネットワークプロトコル:TCP/IP
・他PCサーバーの設定
サーバー:対象PC名 エリアス名:対象PC名 ネットワークプロトコル:TCP/IP
一つ気になる点として、IBConsoleで新しいサーバーを追加するときにローカルサーバーが追加できません。(ボタンが利用不可でチェックできません。)
Firebirdはサービスで起動、アプリケーションで起動どちらも同じ状況で、ガーディアンの使用チェックを入れてあります。
何かこれというヒントが分かる方いましたらよろしくお願い致します。
> GDBへのアクセスが遅い
拡張子が GDB だからだと思います。FDB 等に変更して試してみてください。
[Should I use GDB or FDB extension? (The Firebird FAQ)]
http://www.firebirdfaq.org/faq353/
> 一つ気になる点として、IBConsoleで新しいサーバーを追加するときにローカルサーバーが追加できません。
> (ボタンが利用不可でチェックできません。)
既にローカルサーバが存在する時にはローカルサーバを追加できません。
localhost または 127.0.0.1 というサーバ名でリモートサーバを登録してください。
(ループバックなリモートサーバ)
補足ですが、Firebird 1.5 のローカルサーバは繋がっても、
パフォーマンスが悪い事があります。
http://ht-deko.minim.ne.jp/tech029.html#Vista
# ループバック接続をオススメします。
>DEKOさん
ありがとうございます。
書き込めない間に調べていたところ解決できました。
原因はInterbaseが起動していたためFirebirdを起動してもInterbaseで接続しており、それが原因で遅かったようです…すみません。
Interbaseを停止し、Firebirdだけを起動したところ1秒未満で起動するようになりました。
Interbaseはパフォーマンスが悪いせいか接続に時間がかかっていたようです。
解決しました。
ツイート | ![]() |