概要
本記事の位置付けについて
Oracle Database から Azure SQL Database へ SQL Server Migration Assistant for Oracle (SSMA)によるプログラム移行検証結果の一部である。次の記事にて個別機能別記事へのリンクを整理している。
UTL_FILE パッケージについて
Oracle Database ドキュメントにて、UTL_FILE パッケージの機能について次のように記載されている。
PL/SQLプログラムでオペレーティング・システムのテキスト・ファイルの読込みと書込みができます。
利用されるユースケースには次のものがある。
- ログ書き込み
- ファイル出力
- ファイル入力
参考リンク
- ホワイトペーパー
- Guide to Migrating from Oracle to SQL Server 2014 and Azure SQL Database
Azure SQL Database への移行
SSMA による変換
Azure SQL Database では、SSMA による変換をサポートしていない。SSMA v9.3 では、UTL_FILE.PUT_LINE
が、想定通りに動作しないssma_oracle.utl_file_put_line
に変換される仕様となっているため、変換後にコメントアウト、あるいは、削除を実施する必要がある。
UTL_FILE.PUT
後にUTL_FILE.NEW_LINE
を実行しているコードはUTL_FILE.PUT_LINE
とほぼ同様の動作となるため、UTL_FILE.PUT_LINE
として手動変換を実施する。
UTL_FILE.PUT(out_handle,CONVERT(output,'JA16SJIS'));
UTL_FILE.NEW_LINE(out_handle, 1);
移行方針
Azure Data Factory などのツールを用いたプログラムに移行する。