Rapid SQL XE2でFireBirdに接続できません

解決


hebo  2012-02-10 01:48:42  No: 41572

ここで質問しても良いのかどうか分からなかったのですが、どなたか助けてください。
DelphiXE2を購入して無償でRapidSQLXe2をDLしたのですが、FireBirdでの接続ができなくて困っています。AutoではMS SQLServerを検索してくれますがFireBirdは検索してくれないのでマニュアルでregistしようとしたのですが、HostNameにIPアドレス・DBFilePathにサーバーからのPathを設定しましたが全く接続できません。「(IPAdress) unknown Databese Error」というコメントが出ました。
IBConsoleや自作のアプリからは問題なく接続できていますので、どこが問題なのか途方に暮れています。どうか、よろしくお願いいたします。


中国人  2012-02-10 19:57:22  No: 41573

<管理人による削除>


hobo  2012-02-10 20:28:00  No: 41574

すみませんが、中国語は分からないので日本語にしていただけないでしょうか。(^^;)


igy  2012-02-11 00:18:33  No: 41575

Rapid SQL XE2 は、使ったことがないのですが、

Rapid SQL, DBArtisanで、データを Excel形式で保存する
http://edn.embarcadero.com/jp/article/41409

>3.データベースに接続するための情報(ホスト名、ファイルパス等)を指定します。

のイメージのように「Database file path」欄は記載していますか?


hebo  2012-02-11 02:41:37  No: 41576

igyさん。コメントありがとうございます。
ご指摘の件ですが、「DBFilePathにサーバーからのPathを設定しましたが」と書きましたように、サーバーからのfull pathを記入しました。
基本的にIBConsoleのサーバーとPathの設定と同じにしました。
念のため、RapidSQLXE2のフォルダにgds32.dllも置いてみました。

便利そうなんですが、使えなくてとっても残念なんです。


igy  2012-02-11 03:50:02  No: 41577

>サーバーからのPath

が、よくわからなかったので、あのような質問をしたのですが、

>サーバーからのfull path

というのは、

IBXのリモート接続について
https://www.petitmonte.com/bbs/answers?question_id=7550

で、DEKO さんが 表現されている“サーバから見たフルパスファイル名”

ということで、よろしいでしょうか?

で、先のリンク先と同じように、「Database file path」欄は、

c:\....\xx.fdb

のように記載しているということですか?


中国人  2012-02-11 12:23:00  No: 41578

<管理人による削除>


DEKO  2012-02-11 13:47:52  No: 41579

以下の手順で接続できるようです。

1.Jaybird (最新の Firebird JDBC ドライバ) を DL してくる。但し、"for JDK 1.5" と付くものを DL する事。
2.%ProgramFiles%\\Embarcadero\RSQLXEProR2\Java\drivers\interbase" にある、"firebirdsql-full.jar" を 適当な名前にリネームしてバックアップしておく。
3.Jaybird のアーカイブを "%ProgramFiles%\\Embarcadero\RSQLXEProR2\Java\drivers\interbase" に解凍する。
4."jaybird-2.1.6-full.jar" を "firebirdsql-full.jar" にリネームする。
5.Rapid SQL XE2 を起動。
6.データソース登録の途中で Advanced ボタンを押して JDBC ドライバを Firebird に変更。

繋がらない理由等の詳細はこちらに記述があります。
http://ht-deko.minim.ne.jp/ft1202.html#120211


hebo  2012-02-13 19:58:26  No: 41580

返事が遅くなり申し訳ありません。

で、先のリンク先と同じように、「Database file path」欄は、
c:\....\xx.fdb

のように記載しているということですか?

はい、そうです。DEKOさん版のIBConsoleを愛用していますので
IBConsoleでの設定と同じにしたんです。たぶんそういうことかな
と思って。(^^;)


hebo  2012-02-13 22:30:14  No: 41581

DEKOさん、IBConsoleいつもありがとうございます。m(_ _)m

また、回答頂きました内容を確認してみました。ご指摘通りにやってみましたが、どうしても接続できなくて、データソースを確認するとInterBaseDriverが残っているので、データソースの設定で[Use Default]を押下するとFireBirdが消えて元のInterBaseだけになってしまいます。どうやらちゃんと設定できていないようです。何度試しても同様の現象です。
なぜかFireBirdが消えてInterBaseだけが残るのはなんなんでしょう。
両方がある時に「OK」ボタンだけを押下してFireBirdにしてもFalseになってしまいます。(/_;)


hebo  2012-02-13 22:50:15  No: 41582

DEKOさんの記述の最後まで読んだら気になる記述が。もしかしてFireBird2.1だとODBC接続しかでき無いんですかね。
だとしたら、ショック!!
(泣)

Localに1.5でも入れようかな。それともODBC接続にするか。(^^;)
やっぱり、サーバーと同じバージョンでないとな。


hebo  2012-02-14 00:02:48  No: 41583

追記です。ODBCドライバーをセットしてデータソースも登録して、SQLXE2でODBC接続で登録してテスト接続はSucssesになるのに、実際にConnectしようとすると以下のエラーメッセージが出ます。

14:54:44.332  DBMS  FireBird Local -- [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。(IM002): Failed to create a connection. Url or driver class may be incorrect.

サーバーで問題が出たので、問題を単純化するためにLOCALのデータソースを登録したのですが。
データソースマネージャ-でもSQLXE2でもテスト接続は問題ないんですがね。


DEKO  2012-02-14 00:26:43  No: 41584

> データソースの設定で[Use Default]を押下するとFireBirdが消えて元のInterBaseだけになってしまいます。どうやらちゃんと設定できていないようです。

やっぱりそうなりましたか (w

その Interbase のみになった状態で、Firebird Driver を設定する方法も書いてありますので、試してみて下さい。


DEKO  2012-02-14 00:29:52  No: 41585

> Firebird Driver を設定する方法
追記した部分なので、ブラウザはキャッシュを表示している可能性があります。
ブラウザで再読み込みをかけてみて下さい。


hebo  2012-02-14 02:47:25  No: 41586

RapidSQLXE2をもう一度インストールし直して、DEKOさんの方法で再登録してみたら接続することはできました。ただし、以下のエラーメッセージが出てTable一覧が0件になってしまいます。Indexなども同様です。

17:39:58.161  DBMS  172.16.104.13 -- Only one resultset at a time/statement. populateCollectionAttributes() failed to populate for object type Table

どうしたもんでしょうかね。接続はできるんですけどね。
ちなみにRapidのバージョンは、8.0.1 Build11364でDLした当時のものです。
UPDATEはできないみたいです。
ODBCは上記の問題で接続できてもTable一覧が同様に表示されません。


DEKO  2012-02-14 03:55:49  No: 41587

RapidSQL XE2 を再インストールして、最初から試してみました。

JDBC 経由だと、hebo さんの仰るような現象になってしまいました。
テーブルが表示されません...あれー?

で、イロイロやって気付いたのですが、この "接続できる状態" になったら、

1.一旦、RapidSQL XE2 を終了
2.Jaybird のドライバをリネームして元の名前に戻す
3.バックアップしてあったオリジナルの JDBC ドライバを元の名前に戻す
4.RapidSQL XE2 を起動

このようにするとテーブルが表示されるようです。

# ...ここまで書いてアレですが、あまりにもトリッキーなので、
# Firebird  (2.x) の JDBC 接続はやらない方がいいかもですね。

ODBC 経由だとローカル/リモートいずれのサーバにも接続できて、
テーブルも正しく表示されました。

[ODBC データ ソース アドミニストレーター] の Client には Firebird の
クライアント DLL をセットされているのですよね?


DEKO  2012-02-14 04:03:56  No: 41588

> # ...ここまで書いてアレですが、あまりにもトリッキーなので、
> # Firebird  (2.x) の JDBC 接続はやらない方がいいかもですね。

とはいえ、JDBC 経由じゃない場合、出来ることがかなり減りますね。
データ閲覧すら、自前で SQL を発行しなくてはならないようですし...。


hebo  2012-02-14 18:21:56  No: 41589

DEKOさん、下記やってみました。(#^.^#)

>1.一旦、RapidSQL XE2 を終了
>2.Jaybird のドライバをリネームして元の名前に戻す
>3.バックアップしてあったオリジナルの JDBC ドライバを元の名前に戻す
>4.RapidSQL XE2 を起動

すると、なんてことでしょう。ちゃんと表示されました〜。

本当に感謝感激です。_|‾|○ 
SQLの作成には毎度苦労しているので、このツールには期待していたんです。

># ...ここまで書いてアレですが、あまりにもトリッキーなので、
># Firebird  (2.x) の JDBC 接続はやらない方がいいかもですね。

でもODBC接続もなぜかTableが表示されませんし。(涙)

>[ODBC データ ソース アドミニストレーター] の Client には Firebird の
>クライアント DLL をセットされているのですよね?

はい、DEKOさんのHPと同じにしています。

まあ、ODBC接続はうまくいきませんがJDBC接続はOKなので、一旦解決ということにしたいと思います。DEKOさんには本当にお付き合いいただいて感謝しております。自分が挫けそうになってるのに本当に親身に解決まで導いていただき感謝しております。

また、ここでお付き合いいただいた他の方にも感謝いたします。m(_ _)m
ありがとうございました。


DEKO  2012-02-14 19:18:06  No: 41590

ひとまずは決着したようですね。

それにしても、何故 ODBC で結果が異なるのか不思議ではあります。
他に関係がありそうなものと言えば Dialect 位ですかね?
(画像のは新規作成した DB のものなので Dialect 3 になっています)

# ODBC に関しては、時間がある時に再調査してみます。
# 何か進展がありましたら自サイトでご報告させて頂きます。

それと JDBC 接続の話ですが、追加で DB を登録する際に、
"またまたドライバのリネームからやらなければならない"
...なんて事はないようですね。ちよっと安心しました。

初回の接続さえ突破すれば次回からは普通に使えるようです。
保険のために Jaybird を残しておいた方がいいとは思いますけれど (^^;A


hebo  2012-02-15 01:10:50  No: 41591

>ひとまずは決着したようですね。
はい、今使い始めた所です。QueryBuilderのメニューを探しちゃいましたけど(^^;)
一番の目玉なのにSpeedButtonがDisableなのは何故なんだろう。

>それにしても、何故 ODBC で結果が異なるのか不思議ではあります。
はい、不思議です。よろしくお願いいたします。_|‾|○ 

>他に関係がありそうなものと言えば Dialect 位ですかね?
>(画像のは新規作成した DB のものなので Dialect 3 になっています)
私の方も Dialect 3 です。

># ODBC に関しては、時間がある時に再調査してみます。
># 何か進展がありましたら自サイトでご報告させて頂きます。
了解しました。よろしくお願いいたします。

>初回の接続さえ突破すれば次回からは普通に使えるようです。
>保険のために Jaybird を残しておいた方がいいとは思いますけれど (^^;A
はい、そうします。


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

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






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