[Firebird-jp-general] UDFでFB2.5(Win32)がクラッシュしてしまう

Back to archive index

渡辺 watan****@novel*****
2017年 7月 14日 (金) 10:30:44 JST


渡辺です。

 追記です。

 FireBird2.5の上でまったく新しいDBを作り、
 https://www.firebirdsql.org/en/writing-udfs-in-delphi-for-interbase-firebird/
 にある方法で、
   Delphi2007(ユニコード対応していないバージョンで)
 で作成したDLLを
declare external function f_AddFunction
Integer, Integer
returns
Integer by value
entry_point 'AddFunction' module_name 'nUDF.dll';
 で定義し、

 select f_addfunction(10,20) from rdb$database
 としただけでもFireBird サーバがクラッシュしてしまいます。

 何かお気づきの方いらっしゃいましたらお願いします。


On 2017/07/14 9:42, 渡辺 wrote:
> 渡辺です。
>
>  FB2.1上で動いていたUDFを
>  Windows10にインストールしたFireBird2.5で動かそうとすると、
>  サーバがクラッシュしてしまいます。
>
>  Windows10にインストールしたのは 32bit版の2.5.7.27050。
>     d:\FireBirdフォルダに入れてあります。
>
>  ※ ProgramFilesフォルダにインストールしてみましたが、
>   管理者権限のあるTeraPadなどでaliases.confなどを編集する必要があり、
>   このあたりが問題なのかもと思って、
>   完全にアンインストールしてから、
>   d:\FireBirdにインストールしなおしました。
>
>  使っているDLLはDelphi製で、UDFフォルダの下に入れてあります。
>
>  functionの定義はこんな感じです。
>
> SQL> show function nCOmmatexti;
> Function NCOMMATEXTI:
> Function library is nFB1.dll
> Entry point is nCommaTextI
> Returns  BY VALUE INTEGER
> Argument 1: CSTRING(5000) CHARACTER SET SJIS_0208
> Argument 2: INTEGER
> Argument 3: INTEGER
>
>  作ったのがかなり古いので、DelphiXE5で再コンパイルしてみましたが、
>  同じようにFBサーバがクラッシュします。 
>  
>  データベースファイルは単に2.1のところから2.5へコピーをしただけではだめかもと思い、
>  FB2.5でバックアップ、リストアをしてみましたが、効果はなく
>  サーバがクラッシュしてしまいます。
>
>  ログなども見当たらず、
>  何か手がないかと探しております。
>
>  なにかお気づきのことがある方、ご意見などお願いします。
>
>


-- 
/////ノベルット///////////////////////////////////////////////
 株式会社 ノベルット ソフトウェア インダストリー
  代表取締役 渡辺 伸雄
 〒144-0043 東京都 大田区 羽田2-12-3
 Tel:03-5705-2595
 Fax:03-6423-9505
 mobile-phone:080-3430-2595 070-5582-6540
   Email:watan****@novel*****
///////////////////////////////////////////////ノベルット/////




Firebird-jp-general メーリングリストの案内
Back to archive index