メッセージ・フローを開発する際の ESQL 問題の解決
このトピックでは、メッセージ・フローを開発する際に生じる可能性のある共通の ESQL 問題のいくつかに対処するためのアドバイスを示します。
ルーチンを移動する際に、ESQL で「Routine not defined」というエラー・メッセージが出される
- シナリオ: スキーマ間でルーチンを移動する際に、ESQL で Routine not defined というエラー・メッセージが表示されます。
- 説明: あるスキーマ中のコードによって参照されていたルーチンを別のスキーマに移動した場合、
依然として可視であっても、そのルーチンを解決できないという偽のエラーが生成されます。
- 解決策: をクリックして、プロジェクトを消去します。
Adobe Reader から ESQL ステートメントを貼り付けると製品が応答に失敗する
- シナリオ: Adobe Reader からある ESQL ステートメントを ESQL エディターにコピーおよび貼り付けすると、WebSphere® Message
Broker が応答を停止します。
- 説明: この問題は、テキストを Adobe Reader から ESQL エディターまたは Java™ エディターに直接貼り付ける際に発生します。
- 解決策: この問題を処理するには、手動でテキストを入力するか、ノートパッド (メモ帳) のようなテキスト・エディターにコピーおよび貼り付けをし、そこから再度コピーおよび貼り付けを行います。
メッセージ・フローが ESQL ファイルのコード・ページを処理する方法がわからない
ESQL プロシージャーおよび機能の命名上の制約がわからない
- シナリオ: ESQL モジュールまたはスキーマ有効範囲 ESQL の名前の選択、およびプロシージャーと機能のマッピングに関する制限がわかりません。
- 解決策: IBM_ は IBM® 用に、また IBM_WBIMB_ は WebSphere Message
Broker 用に予約済みのため、モジュールおよびスキーマ有効範囲プロシージャーおよび機能は、IBM_WBIMB_ で始まる名前を持つことができません。
エラー・メッセージ BIP5431 が出されて、ブローカーが失敗する
- シナリオ: エラー・メッセージ BIP5431 が表示されて、ブローカーが失敗します。
- 説明: 出力メッセージ・プロパティーを設定する際、
メッセージ形式に誤った物理フォーマット名を指定しました。
- 解決策: 物理層に指定した名前は、ユーザーが定義した名前と一致していなければなりません。
デフォルトの物理層名は、Binary1、XML1 および Text1 です。
ESQL から Java を呼び出すことができない
- シナリオ: Java クラス・ファイルが見つかりません。
- 説明: クラス・ファイルを作成する際、システム CLASSPATH 内の正しい場所にクラス・ファイルを入れませんでした。
- 解決策: 詳細は、CREATE PROCEDURE ステートメントを参照してください。
エラー・メッセージ BIP3203 (フォーマット式は、
式をタイプに変換するための有効な FORMAT 式ではありません) が発行される
- シナリオ: 変換では認識されない文字がフォーマット式に含まれています。
- 説明: 数値変換用のフォーマット式を、DATE、TIME、TIMESTAMP、GMTTIME、または GMTTIMESTAMP 変数との間で変換を行うために使用しました。
もう 1 つの考えられる説明は、DateTime 変換用のフォーマット式を、INTEGER、DECIMAL、または FLOAT 変数との変換を行うために使用したというものです。
- 解決策: フォーマット式を適用可能なタイプの 1 つで置き換えます。 有効なデータ・タイプおよび式について詳しくは、ESQL 参照のトピックを参照してください。
エラー・メッセージ BIP3204 (入力式は、
FORMAT 式と一致しません。構文解析で、一致させることができませんでした) が発行される。
- シナリオ: フォーマット式と一致しない入力ストリングを使用しました。
- 説明: フォーマット式に、
フォーマット式の現行エレメントと一致しないデータが含まれています。
- 解決策: フォーマット式を書き直して入力データと一致させるか、
入力データを変更してフォーマット式と一致させるようにします。 有効なデータ・タイプおよび式について詳しくは、ESQL 参照のトピックを参照してください。
CAST 関数は GMT 以外のタイム・ゾーンについては、期待される DST オフセットを提供しません。
- シナリオ: GMT 以外のタイム・ゾーンで稼働しているブローカーで、CAST 関数を使ってストリングを TIME 変数に変換しようとします。 夏時間調整 (DST) オフセットは、正しく計算されません。
- 説明: CAST に渡される時間ストリングにタイム・ゾーンが関連付けられていなければ、それは GMT 時間に変換されます。 日付が提供されなければ、現行のシステム日付と見なされます。
- 解決策: 正しいタイム・ゾーンと日付を指定します。
詳しくは、日時をストリングとしてフォーマット設定および構文解析するを参照してください。
エラー・メッセージ BIP3205 (FORMAT 式の使用は変換時には許可されません) が
発行される
- シナリオ: 適用不能な場面でフォーマット式を使用しました (例えば、10 進数から整数への変換など)。
- 説明: フォーマット式を使用できるのは、日時とストリング値の間、または数値とストリング値の間のキャストに限定されています。 このケースでフォーマット式を適用することはできません。
- 解決策: FORMAT 文節を除去するか、あるいはパラメーターを変更します。 有効なデータ・タイプおよび式について詳しくは、ESQL 参照のトピックを参照してください。