ODIP 4.3 修正パッチ（P1040303005567）リリースノート

2023/4/25（株）インテリジェント・モデル

ODIP 4.3 修正パッチ（P1040303005567）リリースノート

ODIP は、（株）インテリジェント・モデル社の登録商標です。
本書に掲載された情報に基づいた行為の結果として発生した損害、利益の損失、経費などについて、（株）インテリジェント・モデルならびに本書の製作関係者は一切の責任を負いません。
本書は著作権法上の保護を受けています。本書の一部あるいは全部を無断で転載・複製することは法律で定められた場合を除き、禁止されています。
2

ODIP 4.3 修正パッチ（P1040303005567）リリースノート

目次

A. 変更内容 ................................................................................................................................... 4
1.

Snowflake の改定 ............................................................................................................... 42.

トランスフォーマリポジトリ更新時の JDBC 設定の改定 ................................................ 63.

その他の修正...................................................................................................................... 6

B. バージョンアップによる影響 .................................................................................................. 7
C. パッチの適用方法..................................................................................................................... 7
1.

ライブラリファイル、設定ファイルの更新 ...................................................................... 7

2.

パッチ適用後の確認 ........................................................................................................... 83

ODIP 4.3 修正パッチ（P1040303005567）リリースノート

A. 変更内容

1. Snowflake の改定(1)

DBMS 設定ファイルのロード処理オプションの改定

Snowflake の DBMS 設定ファイル(snowflake.properties)において、loader.command のオプションに設定する snowsql コマンドのテンプレートに<pass>変数を指定できるようになりました。<pass>変数には、JDBC ドライバマネージャのデータソースに指定したパスワードが設定されます。
例えば次のように Snowflake の環境変数 SNOWSQL_PWD に<pass>をセットすることで snowsql コマンドに引き渡すことができますので、Snowflake の設定ファイルへのパスワードの記述は不要となります。

(Windows の場合)
cmd /c set SNOWSQL_PWD=<pass>&snowsql …

(Linux の場合)
env SNOWSQL_PWD=<pass> snowsql …

(2)

ロード処理のコマンドの改定

Snowflake のロード処理は、snowsql コマンドに-q(--query)を指定して PUT、COPY などのクエリを実行していましたが、-f(--filename)を指定してバッチファイルからクエリを実行するように改定しました。
ロード処理後にバッチファイルを削除するか否かは、ロード用データファイルと同様にodip.ini の job.loader.delete.data.file オプションの指定に従います。
(3)

マルチバイト文字を含むロード処理の改定

Snowflake のロード処理で、出力先のテーブル名にマルチバイト文字が含まれていると、異常終了する問題を修正しました。snowflake.properties のテンプレートの PUT、COPY、
REMOVE クエリのパラメタを一重引用符で囲むように変更しました。
(4)

データ複写管理単位の修正

複写先のデータソースが Snowflake の場合、複写先のテーブルに DATE 型または TIME
4

ODIP 4.3 修正パッチ（P1040303005567）リリースノート型が含まれていると異常終了する問題を修正しました。
(5)

データベース・ツールのデータインポートの修正

アドミニストレータのデータべース・ツールで、Snowflake に対してデータインポートを実行したときに DATE 型、DATETIME 型、TIME 型が含まれていると異常終了する問題を修正しました。
(6)

スキーマチェックでデータタイプの互換性に関する修正

Snowflake では CHAR 型は VARCHAR 型と同義であるにも関わらず、スキーマチェックでテーブル側の VARCHAR（8）とデータセット側のデータタイプ cd が一致しなかった問題を修正しました。
(7)

データ表示の修正
アドミニストレータのデータ表示で数値型属性の値を表示すると、null が 0 と表示される問題を修正しました。
(8)

DBMS 設定ファイルの JDBC URL を変更

Snowflake でタイムゾーンが考慮されている日付型、時刻型などの値を日本標準時に合わせるため、snowflake.properties の jdbc.url に TIMEZONE=Asia/Tokyo を追加しました。
(9)

DBMS に対して実行される Convert 関数の修正

リレーション属性、再帰開始行の条件、再帰開始行の値で定義することができる Convert
関数の引数に数値型の属性と書式を指定すると、処理が異常終了する問題を修正しました。
(10) ODIP での制約事項① Snowflake の仕様により TIME 型はタイムゾーンが考慮されていないため、セッション側のタイムゾーンが協定世界時(UTC)として出力されます。従って、タイムゾーンが考慮されている DATE 型、DATETIME 型、TIMESTAMP 型と比較すると時差が発生する場合があります。例えば、Snowflake のセッション側のタイムゾーンに Tokyo/Asia が設定されているとき、TIME 型の値が”22:00:00”の場合は 9 時間が加算されて”07:00:00”が出力されます。
② TIMESTAMP 型の値が協定世界時(UTC)で”1970-01-01 00:00:00.000”以前、かつミリ秒が"000"以外のとき、Snowflake の JDBC ドライバの処理で+1 秒の誤差が発生します。

5ODIP 4.3 修正パッチ（P1040303005567）リリースノート

2. トランスフォーマリポジトリ更新時の JDBC 設定の改定(1)

ODIP プロセスマネージャまたは ODIP アドミニストレータからトランスフォーマリポジトリを作成する際に、従来のバージョンではテーブルの種類によってバッチ更新の有効/無効、バッチサイズなどが固定でしたが、トランスフォーマリポジトリのすべてのテーブルで jdbcconfig.xml の設定に従って動作するように変更しました。
(2)

トランスフォーマリポジトリ作成時に表示されるプログレスバーのメッセージで、従来のバージョンではテーブルの種類によって更新件数の有無が異なりましたが、すべてのテーブルで更新件数を表示するように変更しました。この件数は jdbcconfig.xml のcommitsize の倍数になります。
(3)

ODIP アドミニストレータおよび ODIP トランスフォーマの jdbcconfig.xml に nameが””（空文字）の設定を追加しました。この設定は、ODIP アドミニストレータからトランスフォーマリポジトリを作成する際に使用されます。

3. その他の修正(1)

データ複写の管理単位で、数値型のカラムが含まれている DBMS のデータを固定長ファイルに出力するとき、DBMS の種類によっては異常終了する場合がある問題を修正しました。
(2)

データ複写の管理単位で、数値型のカラムが含まれている DBMS のデータを固定長COBOL ファイルに出力するとき、DBMS の種類によって出力される値が 0 になる問題を修正しました。
(3)

トランスフォーマリポジトリ比較ツールの repcomp コマンドで、比較対象にトランスフォーマリポジトリのデータベースの接続情報が指定されている場合、標準出力に出力されるメッセージが、DBMS の種類によって差異が発生する場合がある問題を修正しました。
(4)

odip.ini の job.connection.share.mode に inandout または outonly を指定しても、ジョブの出力側 DB 接続が共有されず、出力テーブルごとに独立したコネクションになる問題を修正しました。

6

ODIP 4.3 修正パッチ（P1040303005567）リリースノート

B. バージョンアップによる影響(1)

Snowflake で DATE 型、DATETIME 型、TIMESTAMP 型、TIME 型を扱う定義が存在する場合、Snowflake のセッションのタイムゾーンによっては実行結果が異なる場合があります。
(2)

odip.ini の job.connection.share.mode に inandout または outonly が設定されている場

合、複数の出力テーブルが定義されている処理でコネクションを共有するようになるため、コミットのタイミングが変わる可能性があります。または、処理中の異常などで DB がロールバックした場合、コネクション共有では複数の出力テーブルがまとめてロールバックされることになりますが、従来の出力テーブルごとに独立したコネクションではその出力テーブルのみロールバックされることになり、出力結果に差異が生じることがあります。
従来の出力テーブルごとに独立したコネクションを維持したい場合に限り、inandout が設定されているときは inonly に、outonly が設定されているときは none に変更してください。

C. パッチの適用方法
本パッチは、次の ODIP 製品に適用してください。
❑

ODIP アドミニストレータ v4.3❑

ODIP オペレーションマネージャ v4.3❑

ODIP リポジトリマネージャ v4.3❑

ODIP プロセスマネージャ v4.3❑

ODIP リポジトリサーバ v4.3❑

ODIP トランスフォーマ v4.3

1. ライブラリファイル、設定ファイルの更新
実行中の ODIP 製品を終了し、ODIP_P1040303005567 フォルダに格納されているライブラリファイル、設定ファイルを、表 1 のファイルのコピー先に上書きコピーしてください。

7ODIP 4.3 修正パッチ（P1040303005567）リリースノート

表 1 ODIP_P1040303005567 のフォルダ構成及びファイルのコピー先
ODIP_P1040303005567

ファイルのコピー先

lib
ADM

ODIP アドミニストレータの lib フォルダOPE

ODIP オペレーションマネージャの lib フォルダ

RPM

ODIP リポジトリマネージャの lib フォルダ

RPS

ODIP リポジトリサーバの lib フォルダ

TFM

ODIP トランスフォーマの lib フォルダ

configADM

ODIP アドミニストレータの config フォルダOPE

ODIP オペレーションマネージャの config フォルダ

RPM

ODIP リポジトリマネージャの config フォルダ

TFM

ODIP トランスフォーマの config フォルダ
jdbcsample

ODIP トランスフォーマの config 配下の jdbcsample フォルダ

2. パッチ適用後の確認
パッチ適用後は、各製品を起動し、表 2 の確認方法に従って確認を行ってください。

表 2 パッチ適用後の確認方法
製品名

確認方法

ODIP アドミニストレータ

ヘルプメニューから“ODIP について”を選択し、選択されたすべて

ODIP オペレーションマネージャのビルド ID が 1040303005567 であることを確認してください。

ODIP リポジトリマネージャ
ODIP プロセスマネージャ
ODIP リポジトリマネージャのツールメニューから"ORMS サーバ
ODIP リポジトリサーバ

情報"を選択し、表示されたすべてのビルド ID が 1040303005567であることを確認してください。
ODIP トランスフォーマを起動し、showserver コマンドを、オプシ

ODIP トランスフォーマ

ョンに“-info version”を指定して実行してください。表示されたすべてのビルド ID が 1040303005567 であることを確認してください。

以8上