問題タブ [jtopen]

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 投票する
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 に答える
841 参照

java - JTOpen を使用して AS/400 に接続する場合の SQL インジェクションのリスク

JTOpen を使用して AS/400 マシンに接続しています。このタイプの統合を使用する場合に SQL インジェクションの脆弱性が発生するリスクを解決しようとしています。

jdbc 接続ではなく、API の呼び出しプログラム部分のみを使用していることに注意してください。

私は RPG プログラマーではなく、コードへの SQL インジェクションのリスクについての知識もありません。また、JTOpen API がこの種の攻撃を阻止するかどうかも知りません。

ストアド プロシージャを使用していない場合でも、RPGLE プログラムに SQL インジェクションを実行できる可能性があることを少しグーグルで調べたところわかりました。だから私の質問は次のとおりです。これは JTOpen API でも可能ですか。

JTOpen API へのすべての呼び出しで SQL インジェクションをプログラムでチェックする必要がありますか?

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

java - JTOpen を使用した RPG (iSeries) のモダナイゼーション - 何が可能か?

近い将来、いくつかのストアド プロシージャを使用して RPG プログラムとして作成された iSeries アプリケーションを最新化するソリューションを実装する予定です。私たちの推奨する方法は、この分野で Java が提供する最新かつ最高のものを活用することです。

ここで STOVFlow に関する他の質問をグーグルで検索して確認すると、JTOpen はほとんどの場合に機能するデファクト ライブラリ/ツールセットのようであり、Tomcat が I シリーズ ボックスで問題なく動作することを確認することができました。

これを背景に、高レベルのソルアーチとして以下を考えています。

  1. IBM JRE をインストールし、JTOpen の機能を使用して RPG プログラムを呼び出し、場合によっては DB2 で実行されているストアド プロシージャを直接呼び出します。
  2. Tomcat に、Grails およびその他のフレームワーク (Camel、Smooks) を使用して構築された最新の Web アプリケーションをホストさせて、ブラウザからユーザーに提供される古い機能に必要なメディエーションや変換を満たすアプリケーション ロジック レイヤーを提供します。

質問-

  1. あなたの誰かがそのような演習に関与したことがある場合は、このアプローチの落とし穴を共有してください
  2. エンド ユーザーの応答時間に関して大幅なパフォーマンスの低下はありますか?
  3. JT400コードをWebサービスとして公開し、これらのWebサービスを完全に消費する別のマシンでWebアプリを実行する方が良いでしょうか?
0 投票する
2 に答える
440 参照

java - Java を使用して AS400 サーバーで PSF 設定を取得する方法

私はこのサイトの初心者ですが、ここにいる誰かが私が現在抱えているこの問題について助けてくれることを知っています. 以前は JDK7 を使用して Java をプログラミングしていましたが、現在この JTOpen API for AS400-Java インターフェイスに直面していますが、特定のライターのデバイス記述のすべての PSF 設定を取得する方法が問題ですか?

よろしくお願いします。

助けてください.....

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

jdbc - 特定の AS400 サブシステムで JDBC 接続を開く

JTOpen 経由で AS400 上のストアド プロシージャを呼び出す Web サービスがあります。

私がやりたいことは、ストアドプロシージャを呼び出すために使用される接続が、現在の qusrwrk/quser (デフォルト) ではなく、特定のユーザーを持つ特定のサブシステムで開かれたことです。

qusrwrk サブシステムのクローンを作成して特定のユーザーで開始できると思いますが、特定のサブシステムで接続を開くメカニズムがわかりません。

サブシステム = MySubsystem と言うには、接続レベルでプロパティが必要だと思います。

しかし、残念ながらその物件は見つかりませんでした。

ヒントをいただければ幸いです。

フラビオ

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

java - 期限切れのパスワード変更が失敗する

JTOpenAPIを使用してAS400システムにアクセスしています。

次のように、アクティブなAS400ユーザーパスワードを正常に変更できます。

一方、同じ方法で期限切れのユーザーパスワードを変更しようとすると、2行目から次の例外がスローされます。

com.ibm.as400.access.AS400SecurityException:パスワードが正しくありません。

最初に何をする必要がありますか?

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

java - JTOpen を使用して AS400 のデータ領域から読み取ると、データ領域オブジェクトはロックされますか?

JTOpen からの DecimalDataArea を指定すると、データ領域の読み取りおよび書き込み時に、AS400 上のオブジェクトがロックされ、AS400 上の他のアプリケーションからの同時書き込みが防止されますか?

これは、読み取り/書き込み方法などに関する javadoc のサンプル コードです。

http://javadoc.midrange.com/jtopen/com/ibm/as400/access/DecimalDataArea.html

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

java - JTOpen KeyedDataQueue read() タイムアウト

JTOpen のKeyedDataQueueクラスが提供する read() メソッドを使用すると、奇妙な動作が検出されました。

90 秒のタイムアウトを設定し、タイムアウトに達したときの読み取り実行の 99% で、呼び出し元のメソッドの実行が再開されます。

残りの 1% については、タイムアウトは考慮/到達されず、私の呼び出しメソッドはハングしたままです...

少し検索したところ、次の投稿を見つけました。

http://archive.midrange.com/java400-l/201112/msg00056.html

基本的に、私が疑ったことを確認します:

「また、DataQueue.read() タイムアウト機能はサーバー側であるため、TCP/IP 接続が静かに切断された場合 (これが根本的な原因であると私は信じています)、依然としてハングします。」

私は JTOpen のバージョン 7.2 を使用していますが、バージョン 7.9 が既に公開されていることに気付きました。私は 7.9 に更新しませんでした。これは、7.2 を使用している安定した重要なアプリケーションが多数あるためです。これは、7.9 への更新を検討する最初の実際のシナリオです。

その決定を支援するために、特にこの状況に遭遇し、最終的に JTOpen をアップグレードして解決した方からのフィードバックを本当にお待ちしています。

具体的には、この問題の回避策はありますか? JTOpen のアップグレードはこれに役立ちますか? JTOpen を 7.9 にアップグレードすると、7.2 で動作していた機能が壊れますか?

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

sql - JTOPEN を使用してストアド プロシージャを呼び出す

1 つの INOUT パラメーターと 4 つの IN パラメーターを受け入れる JTOPEN (JDBC) 接続を使用して、SQL 経由で AS400 ストアド プロシージャを呼び出す必要があります。私は次のSQLでこれをやっています

しかし、それはエラーをスローします

[SQL0313] ホスト変数の数が無効です。

疑問符の代わりに '' を使用すると、

[SQL0469] MYLIBのプロシージャMYSPのパラメータ1にIN、OUTまたはINOUTは無効です。

これは可能ですか?

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

jdbc - as400 でネイティブ jdbc ドライバーを使用する

私は通常、AS400JDBCDriver を使用して AS400 に接続し、DB を操作します。これは、AS400 の内外で正常に動作します。

今、私は AS400 で実行して DB にアクセスするクラスを開発しましたが、顧客は DB にアクセスするための資格情報を提供したくないと考えています。既にログに記録されています。

少し前に、com.ibm.as400.access.AS400JDBCDriver の代わりに com.ibm.db2.jdbc.app.DB2Driver を使用して、ローカル クラスから AS400 DB にアクセスしました。

私の最初の問題は、sourceforge の jt400.jar 内にクラス com.ibm.db2.jdbc.app.DB2Driver が見つからないことです。

2 番目の問題は、クラス com.ibm.db2.jdbc.app.DB2Driver を見つけることができると仮定すると、このクラスは資格情報なしでアクセスできるかということです。

どんなヒントでもいただければ幸いです

フラビオ