1

「Perform」スクリーン ジェネレータおよび「ACE」レポート ライタ内で C 関数を呼び出すなど、INFORMIX-SQL 用の ESQL/C を使用して開発した経験のある人はいますか?

ESQL/C なしで ISQL を使用しています。実行画面のコンパイルを試してみました。説明セクションに「ON BEGINNING CALL userfunc() END」と入力しました。ESQL/C を持っていませんが、実行画面はエラーなしで正常にコンパイルされました!.明らかに、コンパイラは実行しませんでした。 t ESQL/C または C プログラムがリンクされていなくても、C 呼び出しを拒否します。

4

1 に答える 1

1

はい、私は彼らといくつかの経験があります-今、薄暗くて遠いです。

フォームコンパイラ(sformbld)は、ユーザーが行う関数呼び出しを受け入れる必要があります。実行時に有効かどうかはわかりません。フォームを実行するために必要となる(カスタム)実行ランナーが使用できる関数はわかりません。

同様に、レポートコンパイラ(saceprep)は、実行時に有効かどうかを判断できないため、ユーザーが行った関数呼び出しを受け入れる必要があります。

組み込み関数以外の関数呼び出しを含むフォームを実行するには、(標準のsperformを使用するのではなく)カスタムランナーを作成する必要があります。Unixでそれを行うためのスクリプトは'cperf'です。指定した関数定義を取得し、それらの関数を呼び出すことができるカスタムランナーを構築します。次に、カスタムランナーを使用して、これらの関数を使用するレポートを実行できます。カスタムコードがESQL/C呼び出しを行わない場合は、マシン上にESQL/Cも必要ありません。ISQL製品で十分です。

並行する状況がレポートに適用されます。標準のsacegoを使用することはできませんが、「cace」を使用して適切なカスタムランナーを作成する必要があります。

さて、薄暗い暗黒時代(たとえば1990年以前)では、カスタムACEを入手せず、ISQLでパフォーマンスを実行しませんでした。ISQLとESQL/Cを購入する必要がありました。ただし、ISQLバージョン4.00がリリースされてから(AFAICR、1988年または1989年)、カスタムランナーとライブラリにISQLが提供され、ESQL/C関数をカスタム関数に組み込む場合を除いてESQL/Cを購入する必要がなくなりました。

カスタムコンパイラは作成しないことに注意してください。したがって、コンパイラーは使用可能な関数を判別できません。

于 2010-03-07T23:55:54.617 に答える