問題タブ [db2-zos]
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.
jdbc - IBM JDK と OpenJDK を使用して JDBC 経由で z/OS 上の Db2 に接続する
WebSphere 9 にバンドルされている IBM JDK 1.8 を使用して、IBM ユニバーサル JDBC ドライバー ファイル db2jcc4.jar を使用して、z/OS 上の Db2 に接続できます。すべて正常に動作し、カタログを参照してクエリを実行できます。Squirrel SQL バージョン 4.0.0 を使用しました。
しかし、JDK を Open JDK 8 または 12 に切り替えて他のすべてを同じにすると、次のエラーが発生します。このエラーを修正するにはどうすればよいですか? IBM JDK と Open JDK の違いは何ですか? DB2 接続が 1 つの JDK で機能し、もう 1 つの JDK では失敗します。
db2 - IBM DB2 - 特定の長さを超える DECIMAL 行をアンロードしない
別の DB2 テーブルにロードできるように、データを UNLOAD したい IBM DB2 テーブルがあります。
1 つの小数フィールドを除いて、両方のテーブルに同じ列 (および型) があります。
ソース テーブルでは DECIMAL(6)、宛先テーブルでは DECIMAL(5) です。
ソース テーブルには、DECIMAL フィールドで最大 5 桁しか使用しない多くのエントリがあり、一部のエントリだけが 6 つすべてを使用します。
私がやろうとしているのは、ソース テーブルの 5 桁までのエントリだけをコピーし、他のすべてを削除することです。
UNLOAD ステートメントのみを使用してこれを行うことはできますか? そのため、システムに「列 'id' を DECIMAL(5) としてアンロードする (ただし、テーブル自体では DECIMAL(6) である) 」というオプションがあり、その列のエントリが 6 桁すべてを使用する場合 (>99999) はアンロードされません。その行」。
また、逆の場合はどのように対処しますか?たとえば、ソースから DECIMAL(5) をアンロードし、デスティネーションで DECIMAL(6) としてロードします。
なぜ私はこれをしているのですか?宛先テーブルは、古いバージョンのアプリケーションで使用される古いバージョンのテーブルであるためです。サポートは 6 か月で終了しますが、それまではデータセットを更新する必要があります。
UNLOAD と LOAD では、たとえばhttps://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/ugref/src/tpc/db2z_utl_unload.htmlで説明されている z/OS (?) の UNLOAD および LOAD ユーティリティについて話してい ます。