[BD2006,Firebird]
SQLConnectionのVendorLibをfbclient.dllに変更してConnectedをTrueにすると、
「fbclient.dllを起動できませんでした。」
となってしまいます。LibraryNameも変更しようとしましたが同じでした。
デフォルトの場合(LibraryName=dbxint30.dll, VendorLib=GDS32.dll)は接続できます。
接続できるようにするにはどうすればよいでしょうか。
fbclient.dllのファイル名を、GDS32.dllに変更すればよいかと思います。
embeded版では付属のテキストにファイル名を変更しろと書いてありました。
「にしの」さん、お答えありがとうございます。
” fbclient.dllのファイル名を、GDS32.dllに変更すればよいかと思います。
”
変更してみるとエラーは発生しませんでしたが、もともとあった「GDS32.DLL」を読み込んでいるような気がするのですが。
すいません、教えていただきながら疑うのもどーかと思うんですが、一応気になったもので。
それと、
” embeded版では付属のテキストにファイル名を変更しろと書いてありました。
”
embeded版というのは分からないんですが、付属のテキストファイルというのは「dbxdrivers.ini」のことでしょうか。
これに
[Interbase]
GetDriverFunc=getSQLDriverINTERBASE
LibraryName=dbxint30.dll
VendorLib=GDS32.dll
BlobSize=-1
・
・
とあったので、
VendorLib=GDS32.dll →VendorLib=fbclient.dll
としてみたのですが、だめでした。
embed版は、組み込み用のFirebirdです。パッケージはFirebird-2.0.1.12855-1_embed_win32.zipという名前でした。
# バージョンは変わってるかもしれませんが
その中のdoc/Readme_embedded.txtに、
3. USAGE
Just copy fbembed.dll, icudt30.dll, icuin30.dll and
icuuc30.dll into the directory with your application.
Then rename fbembed.dll to either fbclient.dll or
gds32.dll depending on your database connectivity software.
Then start your application and it will use the embedded
server as a client library and will be able to access
local datasases. You should also copy firebird.msg and
firebird.conf (if necessary) to the same directory.
と書いてあります。
embed版では、もともとのDLL名はfbembed.dllですが、gds32.dllに名前を変えることで使用できています。
内部ではLoadLibraryでDLLを読み込んでいるはずですので、PATHを通してみてください。
たぶんいけるはずです。
http://firebird.skr.jp/wiki/FAQ#se961323
http://www.timeful.co.jp/apc/APC-54.htm
Firebirdは突っ込んだ使い方をしていないので検証作業までしていませんが、上記を見る限りファイル名を変更するだけじゃ使えないようです。
インストールした時に生成されたFirebird APIを使用してください。
embed版とは違うのですね。
間違った情報を書いてしまい申し訳ありません。
にしのさん、りっきぃさん、ありがとうございます。
fbclient.dllが起動できなかったのは、どうやらインストールされていなかったからみたいです(- -;)
自分でも「インストールしなければいけない」 ということを知らなかったので
りっきぃさんの”http://firebird.skr.jp/wiki/FAQ#se961323”
を見て解決いたしました。
情報を書き込んでいただいているだけで感謝しています。
ありがとうございました(^-^)
ツイート | ![]() |