2

私はFirebirdのJavaバージョンJaybirdを初めて使用しますが、データベース(.fdbファイル)から接続できません。問題は次のようになります。

org.firebirdsql.jdbc.FBSQLException:GDS例外。335544375.利用できないデータベース

また

java.lang.RuntimeException:Jaybirdネイティブライブラリの初期化に失敗しました。これは、firebirdクライアントライブラリのロードに失敗したために最も好都合です。

次のコードを使用します。

Class.forName("org.firebirdsql.jdbc.FBDriver").newInstance();
connection = DriverManager.getConnection("jdbc:firebirdsql://localhost/3050:C:/XLNKREPOS /FIRBIRDXA.FDB", "SYSDBA", "masterkey");

Eclipseプロジェクトのビルドパスに次のファイルがある:

  • jaybird-full-2.1.5.jar
  • jaybird21.dll
  • fbclient.dll
  • fbembed.dll

また、JVM引数を次のように使用します-Djava.library.path="D:\Shared\Firebird\Jaybird-2.1.5JDK_1.5"

私のアプローチの何が問題なのか教えてください。


返信してくれたRRUZに感謝します。

実際、接続文字列の「C:/ XLNKREPOS」の後にスペースがありませんでした。これは、過去のコピーの間違いでした。何度も何度も、次のSQL例外が発生しました。

org.firebirdsql.jdbc.FBSQLException:GDS例外。335544375.利用できないデータベース

そして、そのデータベースは他のプログラムで使用されている場所ではありません。

私のこの投稿が私の問題を理解してくれることを願っています。

ありがとう

4

4 に答える 4

3

OP は、Jaybird でサポートされている 2 つの jdbc url 形式を混合しています。

どちらかを使用

jdbc:firebirdsql://[host]{:[port]}/[path]

また

jdbc:firebirdsql:[host]{/[port]}:[path]

{...}オプション部品を示すために使用

于 2010-01-07T20:19:53.717 に答える
1

問題は接続文字列にあると思います。「C:/XLNKREPOS」の後に空白があります。

これを試して

connection = DriverManager.getConnection("jdbc:firebirdsql://localhost/3050:C:/XLNKREPOS/FIRBIRDXA.FDB", "SYSDBA", "masterkey");

さよなら。

于 2009-09-22T13:57:27.107 に答える
1

私は同じ問題を抱えていました.localhostの前のスラッシュが原因でした. その URL は次のようになります。

jdbc:firebirdsql:localhost/3050:C:/XLNKREPOS/FIRBIRDXA.FDB",
于 2009-11-04T11:45:20.857 に答える
1

このエラーが発生したのは、標準の x86 バージョンではなく x64 Firebird バージョンを使用していたためです。私は64ビットOSを実行していたので、これらの組み込みバイナリが私に対応していると思っていました...うまくいけば、問題が解決します。

トラブルシューティングのヒント:

また、Apache のサイトからプロジェクト/クラスパスに最新の log4j jar を追加することで、追加の Firebird の問題をさらに診断することもできました。次に、log4j.properties ファイルを default/root src ディレクトリに追加し、内部に次のプロパティを設定しました。

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%c{1},%p] %m%n
log4j.rootCategory=DEBUG, stdout
log4j.category.org.firebirdsql=DEBUG, stdout

System.setProperty("FBLog4j", "true");また、コードを設定する必要がありました。

他にできることは、http://firebird.cvs.sourceforge.net/viewvc/firebird/client-java/ ?view=tar のリポジトリから最新かつ最高のものを実行していることを確認することです。

tarball を解凍し、提供されたビルド スクリプト (build.bat/build.sh) を使用してコンパイルするだけです。コンパイル後、「output/lib」ディレクトリを調べると、最新バージョンの jaybird jar が見つかります (現在は 2.2.0 です)。「native」ディレクトリにある最新の jaybird dll (現在は 22) も必要です。このがらくたを理解しようとして、私は多くの苦痛を経験しました。Firebird のサイトのドキュメントは非常に古く、書き方もよくありません。

于 2011-03-15T09:04:57.697 に答える