質問

私はRPGやC#.NETの前後にXMLを渡すためのベスト・プラクティスのここでの損失でいます。もともと、私はQTEMPで一時物理ファイルを使用するつもりだったが、良い方法があるはずということのようです。一時ファイルは、ファイルの1つのレコード内の文書の1行を持っています。私にはこれが本当に必要とするべきではありません余分な作業の多くを追加しているようです。私は、双方向通信を探しています。

一つの考えが前後に32000 char型のパラメータを渡すことですが、それは本当に良いアイデアですか?文書はそれよりも大きいことを起こる場合はどうなりますか?私は多分、私は大丈夫だと思うので、私はその制限を打つとは思わない?

どのような一時IFSファイルの作成について?それは同様に必要とされるよりも多くの作業のように思える。

あなたの考えは何ですか?

もちろん、両方のRPGとC#のプログラムは、XML文書を読み取り、処理されます。

役に立ちましたか?

解決

DB2データベースにXMLをサポートしています。たぶん、あなたのRPGは、データベース(iSeries上のネイティブプログラム)に挿入することができます。あなたのC#.NETプログラムは、データベースから取得するために、ODBCを使用することができます。あなたはDB2のXMLの可能性を使用している場合、あなたはタグやXML構造を失うことはありません。そうしないと、あなたは常にDB2テーブルのCLOBまたはBLOB列を使用することができます。

QTEMP内のファイルを作成すると、動作しません。このライブラリは、ジョブごとに一意です。言い換えれば、すべてのジョブは、彼自身のQTEMPを持っています。あなたはDSPJOBのジョブのQTEMPを見ることができますが、QTEMPにアクセスすることはできません。そして、私はあなたのC#.NETのプログラムは、あなたのRPGと同じiSeriesのジョブで実行されないことをかなり確信しています...

RPGは非常によく彼のパラメータを処理します。私は私の頭の上から正確な最大サイズがわからないが、それは大きな合理的です。だから、あなたは技術的な問題を持っていません。しかし、私はあなたが開発課題を持っていると思います。私はパラメータのための多くの、および/または大きな値を持つデバッグプログラム呼び出しを試みました。私を信じて、それは、ネイティブのiSeriesデバッガー8には楽しかったん - (

私の現在の仕事では、プログラム間の通信にMQをたくさん使用しません。 MQは、多くのプラットフォームで利用可能であり、それは多くの言語用のインタフェースを備えています。これは、代わりにダイレクトコール(異なるその後、あなたの質問)のメッセージングですが、それは素晴らしい作品。あなたはまったく同じ、それを受信します(例えば、あなたのC#のプログラム)反対側のキューとプログラムに任意のオブジェクト(小、大、XMLまたはバイナリファイル)を置くことができます。

最後に、iSeriesのは、ボード上でJavaを持っていることを忘れないでください。 Xalanのを含むXMLのためのクラスライブラリが用意されています。たぶんそれは、移動するための方法です。 RPGの値を収集し、作成したJavaとXMLを送信します。 JavaとRPGが一緒に正常に動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top