2016-05-10 7 views
2

firebirdの.netプロバイダ(FirebirdSql.Data.FirebirdClient)が動作するLinuxでFirebirdに2.5(64bit)を埋め込もうとしています。Firebirdに埋め込まれたMonoを64bit Linux環境で動かす

私のテストアセンブリ用のFB組み込みセットアップは、Windows Firebird EmbeddedバージョンでWinX86_64で動作しています。

  • * libfbembed.so firebird.msg
  • security2.fdb
  • libicu *
  • libibを*:私はcoresponding FB組込みLinuxのバージョンは、アセンブリのディレクトリにファイルを置い使用Linuxの

"RootDirectory"をfirebird.confのアセンブリディレクトリに設定します。 シェル環境変数LD_LIBRARY_PATHおよびFIREBIRDをアセンブリディレクトリに設定します。動作しないモノラルdllmapでFirebirdのClientlibraryのリダイレクト

  • :前に私がやったこと

     FbConnectionStringBuilder conn = new FbConnectionStringBuilder();    
         conn.Database = @"/home/dev/firebirdTest/1stDB.FDB"; 
         conn.ServerType = FbServerType.Embedded; 
         conn.UserID = "SYSDBA"; 
         conn.Password = "masterkey"; 
         conn.Charset = "UTF8"; 
         conn.DataSource = "localhost"; 
         conn.ClientLibrary = "libfbembed.so"; 
         string connStr = conn.ConnectionString; 
         var dbcon = new FbConnection(connStr); 
         FbConnection.CreateDatabase(connStr, pageSize: 8192, forcedWrites: true, overwrite: false); 
         dbcon = new FbConnection(connStr); 
         dbcon.Open(); 
    

    。 C#コードでClientLibを明示的に設定することで解決しました。

  • Linuxでisqlを使用して手動でデータベースを作成する。
  • Linuxでコードを使用してデータベースを作成する。
  • Firebird .NETプロバイダは、FB_ {sanitizedName} .dllとDynamicAssembly.dllをデバッグモードで作成します。
  • .NETプロバイダは本当にサイレントです。デバッグは、linux上で "strace mono {testAssembly.exe}"を使ってアセンブリを開始することによって行われました。
  • FbConnection.CreateDatabaseが、 "open O_CREAT"(FbCreateDatabaseを呼び出す)中にI/Oエラーでクラッシュします(ページサイズが8192でない場合)。ページサイズを明示的に8192に設定するとこれが解決されます。

(...と日間ここで立ち往生)さて、私は次のエラーで実行します。

(ここではコードのように)既存のDatabasefileを開く
  • 、でクラッシュ:

    FirebirdSql.Data.FirebirdClient.FbException:無効なデータベース・ハンドル(ノーアクティブ接続)--->無効なデータベース・ハンドル(ノーアクティブ接続)

散策間違っている?

+0

私はFirebirdエンベッデッドがMonoのFirebird .netプロバイダで動作するとは思わない。私は仮定します(しかし、私は間違っているかもしれません)。あなたはFirebirdでこの質問をしたいかもしれません。ネットプロバイダメーリングリストも同様です。 –

答えて

0

このエラーも発生しています。 FirebirdSql.Data.FirebirdClient.FbException:無効なデータベースハンドル(アクティブな接続がありません) FB 2.5。*と3.0.0の結果で試行された結果は同じです。 また、FBのデバッグビルドを使用して試しました。ログは役に立ちませんでした。

おそらく誰かが問題が何であるか知っていますか?

+0

.net 4.0とEF6には同じ問題があります。 Fb 3.0.1.32609 FirebirdSql.Data.FirebirdClient 5.6.0.0 –

関連する問題