問題タブ [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.
sql - JTOPEN を使用してストアド プロシージャを呼び出す
1 つの INOUT パラメーターと 4 つの IN パラメーターを受け入れる JTOPEN (JDBC) 接続を使用して、SQL 経由で AS400 ストアド プロシージャを呼び出す必要があります。私は次のSQLでこれをやっています
しかし、それはエラーをスローします
[SQL0313] ホスト変数の数が無効です。
疑問符の代わりに '' を使用すると、
[SQL0469] MYLIBのプロシージャMYSPのパラメータ1にIN、OUTまたはINOUTは無効です。
これは可能ですか?
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 を見つけることができると仮定すると、このクラスは資格情報なしでアクセスできるかということです。
どんなヒントでもいただければ幸いです
フラビオ
java - RPG から Java を呼び出し、自分以外のすべてのユーザーに対して ClassNotFoundError
ClassNotFoundError
RPG から Java メソッドを呼び出している間、ご協力をお願いいたします。これは、私以外のユーザーが私のプログラムを実行しようとしたときに発生します。文字通りCLASSPATHまたはjarファイルへのアクセスに問題があるようですが、その側面からも試しました。
説明: jar ファイルで Java メソッドを呼び出す RPG プログラムがあります。私の CLASSPATH には、適切な jar が含まれています (JtOpen jar ファイル)。緑と黒の画面 (Iseries セッション マネージャー) から RPG プログラムを実行すると、完全に動作します。別のユーザーが同じ方法で実行しようとすると、次のエラーメッセージがスローされます。
RPG Procedure received Java Exception java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 when calling method "invokeApiPgm" with signature "([Ljava.lang.String;Ljava.lang.String;I[Ljava.lang.String;)Z" in class "callIceApi.CallIceApiPgm"
.
上記の署名は、私が呼び出すメソッドの署名とも同じです。Java が不平を言っているクラスは AS400 のもののように見えますか、それとも私のものでしょうか? AS400 クラスが公開されていることがわかります。クラス オブジェクトは、クラスのコンストラクターによって正常に作成されました。main メソッドを呼び出すと失敗するだけinvokeApiPgm
です。
みんな、私が何を見逃している、または台無しにしていると思いますか?
ご協力いただきありがとうございます!
テウェル
java - Java ProgramCall が出力の NullPointerException を取得する
Java から RPG プログラムを呼び出すと、入力パラメーターを渡すことができ、Java に NullPointerException を取得するときに同じ入力フィールドから出力値を取得しようとします。これが私のサンプルコードです。解決策を提案してください。
出力:
java - アプリケーション監査証跡と DB ログのリンク
私は、すべてのビジネス トランザクションを監査証跡に記録するアプリケーションに取り組んでおり、この監査証跡のイベントを、データとして使用される IBM System i (AS400) のジャーナルのレコードと関連付けることができるようにする必要があります。そのアプリケーションによる RDBMS。これをどのように達成できますか?
私は、アプリケーションがある種のビジネス トランザクション ID をデータベースに渡し、それを対応するジャーナル エントリと共に保存する方法があるかどうかを考えていました。これは可能ですか?
db2-400 - DB2 AS/400 jtopen-7.1 DatabaseMetaData の変更
jt400 7.1 ドライバーを使用して DB2 AS 400 V6R1m0 に接続しています。7.1 ドライバーでは、IBM はデータベース メタデータ メソッドに変更を加えました。そのような変更の 1 つは、ユーザーが「*USRLIBL」キーワードを使用して現在のスキーマでテーブル名を取得できるようにすることです。同じドキュメントはhttp://sourceforge.net/projects/jt400/files/にあります。
デフォルトでは、「メタデータ ソース」接続プロパティは 1 に設定されており、その場合、スキーマ パターンに null が渡されると、すべてのスキーマからの情報が返されます。ただし、*USRLIBL の特別な値を自分で渡して、目的の結果を得ることができます。
したがって、キーワード「*USRLIBL」を使用してテーブル名をフェッチすると、次のようになります。
これはうまくいっています。
同じパターンを使用してプロシージャ名を取得すると、空のセットが返されます。
getProcedures 呼び出しでキーワード「*USRLIBL」を使用できますか? 「*USRLIBL」の使用が getProcedures() 呼び出しでサポートされているかどうか。または、getProcedures call() を使用しながらスキーマ パターンに null を使用し続ける必要があります。
jdbc - JDBC 経由で AS400 上の DB2 の LIMIT を有効にする方法は?
DB2 でページングを行うために LIMIT 句を使用したいと考えています。DB2 は AS400 でホストされており、JTOpen 経由で JDBC 経由でアクセスしています。
LIMIT と OFFSET または ROWNUM を使用した結果セットのページングで、DB2 を MySql 互換にすることができることを学びました。
これにより、LIMIT 句を使用してページングを行うことができます。私のクエリはMySqlでも実行する必要があるため、これは非常に役立ちます.
残念ながら、JDBC 経由でこれを有効にする方法が見つかりませんでした。これが AS400 上の DB2 でまったくサポートされているかどうかはわかりません。
誰かがこれについてさらに光を当ててくれることを願っています。