Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

dbxdrivers.ini

dbxdrivers.ini は dbExpress のドライバ名とそのドライバを利用するためのファイルのパスや標準的なオプションなどが記載されたファイルです。

Apollo を msiパッケージでインストールした場合には、次の場所にインストールされるはずです。

C:/Program Files/Apollo/bin/dbxdrivers.ini

* 場合によっては(Delphi の Pro 版以上をインストールしてある場合などには)、次のディレクトリにも入っているかも知れない。しかし、Apollo が使うのは $(Apollo)/bin の方のはず。

C:/Program Files/Common Files/Borland Shared/DBExpress/dbxdrivers.ini

ファイルの中身

中身をざっと見ておきます。

[Installed Drivers] セクション

[Installed Drivers]
DB2=1
Interbase=1
MYSQL=1
Oracle=1
PostgreSQL=1

最初のセクションは、インストールされているドライバの名前を記述します。「ドライバの名前」というのは次以降のセクションのセクション名のことです。

ドライバ名のセクション

[DB2]
GetDriverFunc=getSQLDriverDB2
LibraryName=DBEXPDB2.DLL
VendorLib=db2cli.dll
BlobSize=-1
Database=DBNAME
ErrorResourceFile=
LocaleCode=0000
Password=password
DB2 TransIsolation=ReadCommited
User_Name=user

[Interbase]
GetDriverFunc=getSQLDriverINTERBASE
LibraryName=dbexpint.dll
VendorLib=GDS32.DLL
BlobSize=-1
CommitRetain=False
Database=database.gdb
ErrorResourceFile=
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=1
Interbase TransIsolation=ReadCommited
User_Name=sysdba
WaitOnLocks=True

2番目のセクションは DB2? 用のドライバの詳細、3番目のセクションはInterBaseドライバの詳細です。

GetDriverFunc?

GetDriverFunc=getSQLDriverDB2
GetDriverFunc=getSQLDriverINTERBASE

これらは(よくわかりませんが)おそらく、ドライバで export された関数名と思われます。

LibraryName?

LibraryName=DBEXPDB2.DLL
LibraryName=dbexpint.dll

dbexpint.dll?は $(Apollo)/bin (c:\Program Files\Apollo\bin)にインストールされます。これらのドライバは、データベース提供者(Vender)が提供するクライアントライブラリと dbExpress とを接続するためのライブラリのようです。

C:\Program Files\Apollo\bin>dir db*.dll
2001/07/13  06:00           105,472 dbexpdb2.dll
2002/02/22  14:02           119,296 dbexpint.dll
2001/07/13  06:00            91,136 dbexpmys.dll
2002/03/18  06:02            92,160 dbexpmysql.dll
2002/03/18  06:02           165,376 dbexpora.dll
               5 個のファイル             573,440 バイト
C:\Program Files\Apollo\bin>

VendorLib?

VendorLib=db2cli.dll
VendorLib=GDS32.DLL
VendorLib=LIBMYSQL.dll
VendorLib=OCI.DLL
VendorLib=libpq.dll

これらは C:\WINDOWS\system32 ディレクトリか、それぞれのクライアントライブラリのパッケージが指定した場所にインストールされていると思います。

db2cli.dll? は DB2? の、gds32.dll?InterBase の、libmySQL.dll? は MySQL? の、OCI.DLL? は Oracle? の、libpq.dll? は PostgreSQL? のクライアントライブラリと呼ばれるモノのようです。

たけ(tk)のマシンを調べたところ gds32.dll? と libpq.dll? は C:\WINDOWS\system32\ に、libmySQL.dll?は c:\mysql\bin に入っていました。

C:\Program Files\Common Files\Borland Shared\DBExpress>dir /s c:\libpq.dll
 c:\WINDOWS\system32 のディレクトリ
1999/06/29  06:32            92,160 libpq.dll
C:\Program Files\Common Files\Borland Shared\DBExpress>

データベース関係ではこれらのドライバのバージョン違いや相性の問題がけっこう出てきます。問題が生じたらドライバ名とファイルの所在地、タイムスタンプなどを調べて問題がないかどうかを調べる必要が出てくるかもしれません。

その他

Database=DBNAME
Database=database.gdb

「database.gdb」というのはダミーです。書き方の見本です。

一般に InterBase のデータベースのファイルの拡張子は(昔は)「.gdb」とすることが奨励されていました(その後 Windows が同じ名前の拡張子を別の目的で使いはじめたので、最近では Firebirdでは「.fdb」、InterBase では「.idb」が推奨されているようです)。

あとは、デフォルトの設定であったり、見本であったりします。


ご意見・ご質問(comment plugin is disabled).

Last modified:2004/11/19 17:33:55
Keyword(s):
References:[RDB::SQLConnection] [dbxconnections.ini]