問題タブ [jt400]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
28431 参照

sql - AS400 上のマルチメンバー ファイルの SQL クエリ

5250 セッションの対話型 SQL の AS400 では、

myfile に複数のメンバーがある場合にのみ、1 つのメンバーからの行が返されます。

特定のメンバーから行を取得するにはどうすればよいですか?

重要: 最終的には、jt400 を使用して JDBC でこれを実行したいので、そこで機能するソリューションが本当に必要です。

ありがとう。

0 投票する
3 に答える
2134 参照

java - JDBC を介した AS400 スタイルの命名

jt400 を使用して JDBC で AS400 スタイルのライブラリ/ファイル スタイルの命名を使用する方法はありますか? 次のようなクエリを実行できるようにしたい:

ありがとう

0 投票する
2 に答える
3181 参照

sql - AS400 ライブラリ/ファイル (メンバ) JDBC クエリ

JDBC を使用して (jt400 ドライバー/接続、命名 = システム)、次の SQL ステートメントを実行しています。

これは機能します。ただし、メンバ String に . その中で、これはすべてを混乱させます。

これに対処する方法はありますか?

ありがとう。

0 投票する
1 に答える
594 参照

java - db2参照整合性の問題

状況はかなり深刻です。AS400上のDB2に、別のテーブルへの外部キーを定義したテーブルがあるため、参照テーブルの通常のIDを持つレコードを入力しているため、フロントエンドツールからSQL挿入を入力するとすべてが正常に行われました。

この挿入がSpringFrameworkを使用するJavaアプリケーション(SQLハンドラー、Webサービスのみ...)を介して行われる場合に問題が発生するため、jt400.jarのjdbcドライバーを使用してPreparedStatementで終了します。「参照整合性チェックに失敗しました」というメッセージが表示されました。チェックしたとおり、不可能です。

誰かが同じような経験をしていますか?JTOPENライブラリをアップグレードする必要がありますか?現在、実際のバージョン6.5があり、本番環境では6.3を使用しており、6.5にアップグレードした場合の悪影響を懸念しています。

言及するのを忘れましたが、Tomcat(アプリサーバー)を再起動しても効果はありませんが、Linuxボックス(ubuntu 8.10)を再起動すると、すべて正常に動作します。DBへの接続はJNDIによって管理されています。

0 投票する
2 に答える
3042 参照

java - iSeries でジョブ名を指定して Java からスプール・ファイルを作成する

スプール・ファイルを作成するときに JOB 名を指定する方法はありますか? 私の作成したsfにはデフォルトの「QPRTJOB」がありません。

デフォルトの QPRTJOB ジョブでスプール・ファイルを作成する私の方法:


0 投票する
5 に答える
1102 参照

java - JNDIからの接続のフェッチ>15分!

この奇妙な問題があります。WebアプリケーションがJNDIを介してAS400DB2サーバーに接続し、JNDIから接続を取得するのに約930〜960秒かかります!!! 通常、接続にかかる時間は4ミリ秒で、場合によっては15分になります...いつ/なぜ発生するかについての特別なルールはありません。JTOpenjt400.jarドライバーバージョン7.0を使用しています。

プール内のアイドル接続数は最低20、プール内の接続数は最大200に設定されており、以前は10人がWebアプリケーションで作業していたため、一度に10以上の接続を利用する可能性はほとんどありません。 ..

0 投票する
1 に答える
2204 参照

java - jt400.jar APIを使用して、RPGプログラムから構造体の配列を取得します。

このクラスを使用して、com.ibm.as400.data.ProgramCallDocumentJavaを介してiSeries上のRPGプログラムとインターフェースを取ります。WebSphereアプリケーションのほとんどの場合、RPG / Synonプログラムの前にCLを配置し、PCMLを使用してそれらとインターフェースを取りました。また、通常、構造体を入出力として使用していません。

今回は、RPG開発者の1人がRPG IV(Synonではない)でプログラムを作成し、このプログラムとインターフェイスするためのPCMLを提供してくれました。通常の文字列として3つの入出力パラメーターがあります。大したことではありません。私たちは以前にそれをしました。ご覧のとおり、4番目のパラメーターはカウント100の構造体であり、入出力です。

RPGプログラムを呼び出そうとしたときに返されるのは、大量のブランク(つまり、16進数の40)だけです。文字列パラメーターは正常に戻ります。しかし、構造体はそうではありません。すべてのインデックスは空白に他なりません。

RPGプログラマーに検証してもらうと、彼のプログラムが実際に構造体の配列を返すことがわかります。彼はまた、彼のプログラムが実際に値を返していることを確認するために、迅速で汚いCLを作成し、CLがそれを証明したと述べました。

だから今私は困惑しています。値を渡す方法を見つけて、それが違いを生むかどうかを確認しようとさえしました。しかし、私がそれを不幸にしたとしても(parmsリストと一致しないため)、または空白のみを返します。進むべき方向について何か考えはありますか?

これがPCMLファイルです

そして、次のようにProgramCallDocumentをロードします。

次に、表示されている内容を使用してプログラムをnewPcml.callProgram('program');呼び出します。呼び出しはtrueを返します。しかし、構造体を読みに行くときは何もありません。私はcom.ibm.as400.data.PcmlMessageLog.setTraceEnabled(true);parmsを見ようとさえしました、そしてそれは私を困惑させるものです。問題はないようですが、期待どおりの結果が得られていません。

任意の助けや指示をいただければ幸いです。これまでのところ、オンラインのJavadocと例は最も役に立ちませんでした。

0 投票する
3 に答える
4424 参照

jobs - IBM i シリーズ (AS/400) 上のジョブの MSGW メッセージを Java から監視および処理する

IBM i シリーズ (AS/400) でジョブをブロックするステータス MSGW のメッセージに自動的に返信する方法を知っている人はいますか?

jt400/jtopen ライブラリを使用して、Java から AS/400 上のプログラムにアクセスしています。プログラムが何らかの理由で失敗しない限り、正常に動作する com.ibm.as400.access.ProgramCall クラスを使用しています。ほとんどすべてのプログラムと同様に、エラーが発生することもありますが、残念ながら、この場合、ステータス メッセージや例外は発生しません。代わりに、呼び出し元のスレッドがハングします。さらに悪いことに、ジョブに関する情報を取得するために AS/400 を呼び出すと (ほとんどの場合、期待どおりのことを行う jt400 の別のクラス)、キューが停止します。

もちろん、呼び出しが実行されているスレッドを監視し、しばらく待ってから単純に強制終了することもできますが、それは最後の手段です。システムからエラー メッセージが返されると便利です。

0 投票する
1 に答える
675 参照

ibm-midrange - Javaからiシリーズプログラムを呼び出すと、無効な出力が生成されます

jtopen / jt400ツールキットを使用して、JavaからIBM iシリーズr5v4(別名AS / 400)のプログラムを呼び出しています(実際にはJRubyですが、純粋なJavaでも同じ問題が発生しています)。これは一部のプログラムでは問題なく機能しますが、他のプログラムでは、出力バイトにすべてゼロが含まれます。これは間違っており、場合によっては無効です(たとえば、ZonedDecimalの場合)。ProgramCall、JobList、またはSYSOPR.MSGQにメッセージは添付されていません。なぜこれが起こるのか誰かが知っていますか?

いくつかのコードを表示するには(ライブラリを使用したことがある人なら誰でも、このJavaのRubyレンダリングを理解できると確信しています)。

私が言ったように、これはいくつかのプログラムではうまく機能しますが、他のプログラムでparams[2].output_dataは[0、0、0]のバイト配列になりますが、これは意図した結果ではありません。さらに悪いことに、 params[3].output_data[0、0、0、0、0、0、0、0、0、0、0]になります。これは、ZonedDecimal.new(9、2)の無効なバイト値です。誰かが私を助けることができますか?

0 投票する
2 に答える
5239 参照

java - JBDCを介してIBMDB2V6R1(AS400)に挿入された行数を取得する

最近、AS400上の新しいV6R1バージョンのDB2に移行しました。データベースとの通信には、Springフレームワーク(v。2.5.6。)を使用しています。SpringのNamedParameterJdbcTemplate.update()メソッドを呼び出して新しい行を挿入しています。このメソッドは、挿入された行の数を返す必要があります。行は定期的に挿入されていますが、何が起こっていないか(結果としてゼロが返されます)。

挿入ステートメントに主キー列がない場合はすべて問題ないため、PK列が自動インクリメントの場合は問題ありませんが、場合によってはPK値を挿入してから、定期的に挿入される行がJDBCまたはSpringに登録されていません。

誰かが助けることができますか?