[SSMA] SSMA for Oracle Extension Pack インストール時に「スカラー変数 “xxx” を宣言してください。」エラーが発生する。

山田 浩史
SQL Engine Support Engineer

みなさんは SQL Server Migration Assistant (SSMA) というツールをご存知ですか。
SSMA とは、Oracle、Sybase、MySQL、Access といったデータベースから、SQL Server への移行作業を支援するツールで、無償で利用出来ます。
SSMA を利用することで、一部のオブジェクトやデータの移行が行え、その結果をもとに、各種オブジェクトやデータの修正を行うことで、SQL Server への移行作業のコストを削減できるものと期待しています。

今回は、SSMA for Oracle をご利用いただいているお客様が導入時に経験する可能性のある問題について紹介します。

現象
SSMA for Oracle Extension Pack のインストールをすると、以下のエラーが発生する。

SSMA_ERROR SSMA_ERROR2
   

スカラ変数"\@Param2" を宣言してください。
スカラ変数"\@Param1" を宣言してください。
スカラ変数"\@Number_value5" を宣言してください。
スカラ変数"\@Param2" を宣言してください。
スカラ変数"\@Nulls_part1" を宣言してください。
スカラ変数"\@Param2" を宣言してください。
スカラ変数"\@Nulls_part2" を宣言してください。
スカラ変数"\@Nulls_part1" を宣言してください。
スカラ変数"\@Nulls_part1" を宣言してください。
スカラ変数"\@Nulls_part1" を宣言してください。
スカラ変数"\@Param1" を宣言してください。
スカラ変数"\@hexadecimal" を宣言してください。
スカラ変数"\@hexadecimal" を宣言してください。
キーワード 'else' 付近に不適切な構文があります。
スカラ変数"\@Number_value3" を宣言してください。
スカラ変数"\@s_right_minus" を宣言してください。)

※ SSMA for MySQL Extension Pack や SSMA for Sybase Extension Pack では発生しません。

原因
SSMA は大文字小文字を区別する照合順序の SQL Server インスタンスには対応していません。

そのため、SSMA インストール対象の SQL Server インスタンスの照合順序が Japanese_CS_AS のように、大文字小文字を区別する照合順序に設定されていると、上記エラーが発生します。

対処方法
エラー発生後はそのまま 「OK」 ボタンをクリックし先に進み、インストールを完了させます。

しかしながら、この状態では SSMA が使用する関数が一部欠落している状態であるため、必ず SSMA for Oracle Extension Pack のアンインストールを実施してください。

そして、Japanese_CI_AS のように大文字小文字を判別しない SQL Serverインスタンスを対象にインストールしてください。

    SQL Server 照合順序の選択
    https://msdn.microsoft.com/ja-jp/library/ms144250(v=sql.105)

参考情報
SQL Server Migration Assistant (SSMA) Team's Blog
https://blogs.msdn.com/b/ssma/

Oracle Database からの移行アセスメント
https://www.microsoft.com/ja-jp/sqlserver/2008/r2/solution/oraclemigration.aspx

SQL Server - Migration
https://www.microsoft.com/sqlserver/en/us/product-info/migration-tool.aspx

Microsoft SQL Server Migration Assistant for Access v5.2
https://www.microsoft.com/en-us/download/details.aspx?id=28763

Microsoft SQL Server Migration Assistant for MySQL v5.2
https://www.microsoft.com/en-us/download/details.aspx?id=28764

Microsoft SQL Server Migration Assistant for Sybase v5.2
https://www.microsoft.com/en-us/download/details.aspx?id=28765/p>

Microsoft SQL Server Migration Assistant for Oracle v5.2
https://www.microsoft.com/en-us/download/details.aspx?id=28766