問題タブ [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.
sql - AS400 上のマルチメンバー ファイルの SQL クエリ
5250 セッションの対話型 SQL の AS400 では、
myfile に複数のメンバーがある場合にのみ、1 つのメンバーからの行が返されます。
特定のメンバーから行を取得するにはどうすればよいですか?
重要: 最終的には、jt400 を使用して JDBC でこれを実行したいので、そこで機能するソリューションが本当に必要です。
ありがとう。
java - JDBC を介した AS400 スタイルの命名
jt400 を使用して JDBC で AS400 スタイルのライブラリ/ファイル スタイルの命名を使用する方法はありますか? 次のようなクエリを実行できるようにしたい:
ありがとう
sql - AS400 ライブラリ/ファイル (メンバ) JDBC クエリ
JDBC を使用して (jt400 ドライバー/接続、命名 = システム)、次の SQL ステートメントを実行しています。
これは機能します。ただし、メンバ String に . その中で、これはすべてを混乱させます。
これに対処する方法はありますか?
ありがとう。
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によって管理されています。
java - iSeries でジョブ名を指定して Java からスプール・ファイルを作成する
スプール・ファイルを作成するときに JOB 名を指定する方法はありますか? 私の作成したsfにはデフォルトの「QPRTJOB」がありません。
デフォルトの QPRTJOB ジョブでスプール・ファイルを作成する私の方法:
java - JNDIからの接続のフェッチ>15分!
この奇妙な問題があります。WebアプリケーションがJNDIを介してAS400DB2サーバーに接続し、JNDIから接続を取得するのに約930〜960秒かかります!!! 通常、接続にかかる時間は4ミリ秒で、場合によっては15分になります...いつ/なぜ発生するかについての特別なルールはありません。JTOpenjt400.jarドライバーバージョン7.0を使用しています。
プール内のアイドル接続数は最低20、プール内の接続数は最大200に設定されており、以前は10人がWebアプリケーションで作業していたため、一度に10以上の接続を利用する可能性はほとんどありません。 ..
java - jt400.jar APIを使用して、RPGプログラムから構造体の配列を取得します。
このクラスを使用して、com.ibm.as400.data.ProgramCallDocument
Javaを介して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と例は最も役に立ちませんでした。
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 の別のクラス)、キューが停止します。
もちろん、呼び出しが実行されているスレッドを監視し、しばらく待ってから単純に強制終了することもできますが、それは最後の手段です。システムからエラー メッセージが返されると便利です。
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)の無効なバイト値です。誰かが私を助けることができますか?
java - JBDCを介してIBMDB2V6R1(AS400)に挿入された行数を取得する
最近、AS400上の新しいV6R1バージョンのDB2に移行しました。データベースとの通信には、Springフレームワーク(v。2.5.6。)を使用しています。SpringのNamedParameterJdbcTemplate.update()
メソッドを呼び出して新しい行を挿入しています。このメソッドは、挿入された行の数を返す必要があります。行は定期的に挿入されていますが、何が起こっていないか(結果としてゼロが返されます)。
挿入ステートメントに主キー列がない場合はすべて問題ないため、PK列が自動インクリメントの場合は問題ありませんが、場合によってはPK値を挿入してから、定期的に挿入される行がJDBCまたはSpringに登録されていません。
誰かが助けることができますか?