作成できませんでした。表または問合せnameに対する設計変更権限がありません。
解決方法 解決方法 解決方法 解決方法
Microsoft Accessデータベースに適切な権限を設定してください。データベースの所有者で
ない場合は、この操作を実行できない場合があります。この場合は、データベースのコピー を作成してください。
データベースのコピーを作成するには、次の手順を実行します。
1. Microsoft Accessに新しいデータベースを作成します。
2. 「File」→「Get External Data」→「Import」を選択します。
3. 元のデータベースを選択します。
4. すべてのスキーマ・オブジェクトを選択した後、「OK」を選択します。
5. スキーマ・オブジェクトを新しいデータベースにコピーします。これで、新しく作成し
たMicrosoft Accessデータベースに適切な権限が付与されます。
Microsoft Access Jetのエラー・メッセージの詳細は、『Oracle Migration Workbench for Microsoft Access Reference Guide』を参照してください。
注意注意注意
注意: Microsoft Accessデータベースで表を(ダイナセットまたはスナッ
プショットを使用しないで)直接オープンすると、リンクされた表は使用 できません。この制限は、データをOracleに移動した後も適用されます。
この問題を解決するには、ダイナセットまたはスナップショットを使用す るようにアプリケーションを変更します。
Microsoft SQL ServerおよびSybase Adaptive Serverのトラブルシューティング
トラブルシューティング 10-7
Microsoft SQL Server および および および および Sybase Adaptive Server のトラブル のトラブル のトラブル のトラブル シューティング
シューティング シューティング シューティング
ここでは、OracleデータベースへのMicrosoft SQL ServerまたはSybase Adaptive Server データベースの移行中に発生する可能性がある問題のトラブルシューティングについて説明 します。
ストアド・プロシージャのコレクション ストアド・プロシージャのコレクション ストアド・プロシージャのコレクション ストアド・プロシージャのコレクション
Migration Workbenchでは、Microsoft SQL ServerまたはSybase Adaptive Server用のスト アド・プロシージャのコレクションはサポートされていません。Microsoft SQL Serverまた
はSybase Adaptive Serverデータベースにストアド・プロシージャのコレクションが含まれ
ている場合は、コレクション名を一意の名前に変更した後、対応するアプリケーションを変 更してコレクション名の変更を反映する必要があります。ほぼすべてのアプリケーションお よびプロシージャ・コールが機能するように、最も使用頻度の高いバージョンのコレクショ
ン(name_1ではなくname;1など)を名前として使用します。
次の形式を使用します。storedprocnameはストアド・プロシージャのコレクション名で、
#は一意の番号です。
storedprocname_#
たとえば、BSNXETTという3つのストアド・プロシージャのコレクションがある場合は、
それぞれの名前をBSNXETT、BSNXETT_2およびBSNXETT_3に変更する必要があります。
所有者がいないスキーマ・オブジェクト 所有者がいないスキーマ・オブジェクト 所有者がいないスキーマ・オブジェクト 所有者がいないスキーマ・オブジェクト
Microsoft SQL ServerまたはSybase Adaptive Serverソース・データベースに所有者または
ユーザーが指定されていないスキーマ・オブジェクト(孤立したオブジェクト)が存在する 場合は、これらのオブジェクトに所有者およびユーザーを割り当てる必要があります。デ フォルトの所有者としてdbo、デフォルトのユーザーとしてsaがMigration Workbenchに よって割り当てられます。これらのデフォルトの値を編集するには、次の手順を実行しま す。
1. OMWB_install_dir¥binディレクトリにあるomwb.propertiesファイルをオープ ンします。
2. 孤立したオブジェクトの所有者およびユーザーとしてのdboおよびsaを再設定するに は、次のフィールドを編集します。
DEFAULT_OWNER=dbo DEFAULT_USER=sa
Microsoft SQL ServerおよびSybase Adaptive Serverのトラブルシューティング
10-8 Oracle Migration Workbenchユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP
オフライン取得スクリプトの文字 オフライン取得スクリプトの文字 オフライン取得スクリプトの文字 オフライン取得スクリプトの文字
Microsoft SQL ServerおよびSybase Adaptive Serverの場合、オフライン取得スクリプトは、
列および行に、デフォルトのデリミタ文字を使用して、オフライン取得ファイルを生成しま す。表10-1に、各プラグインのオフライン取得スクリプトで使用されるデフォルトのデリミ タを示します。
移行中の表にいずれかのデリミタ文字が有効なデータとして表示された場合、オフライン取 得ファイルのロード時にMigration Workbenchで次のような問題が発生します。
■ データがロードされていない可能性があります。
■ 進捗ウィンドウまたはディレクトリOMWB_install_dir/Omwb/log内のエラー・ロ グ・ファイルで、エラーarray OutOfBoundsが発生しています。
■ 進捗ウィンドウまたはディレクトリOMWB_install_dir/Omwb/log内のエラー・ロ グ・ファイルで、エラーNumberFormatExceptionが発生しています。
前述のエラーのいずれかが発生した場合は、オフライン取得スクリプトを編集して、別のデ リミタ文字を挿入する必要があります。
デリミタ文字を変更するには、次の手順を実行します。
1. OMWB_install_dir¥Omwb¥offline_capture¥plug-inにあるオフライン取得スク リプトOMWB_OFFLINE_CAPTURE.BATをオープンします。
ファイルが読取り専用でないことを確認します。
注意注意注意
注意: これらのスキーマ・オブジェクトのデータは、オフライン取得ス クリプトを使用して移行する必要があります。オフライン取得について は、4-5ページの「オフライン取得ファイルの作成」を参照してください。
表表表
表10-1 オフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタオフライン取得スクリプトで使用されるデリミタ プラグイン
プラグインプラグイン
プラグイン 行行行行 列列列列
Microsoft SQL Server 2000 ¤ §
Microsoft SQL Server 7.0 ¥ §
Microsoft SQL Server 6.5 ¥ §
Sybase Adaptive Server 11 ¥ §
Sybase Adaptive Server 12 ¥ §
Microsoft SQL ServerおよびSybase Adaptive Serverのトラブルシューティング
トラブルシューティング 10-9 2. 次のフィールドを編集します。
set OFFLINE_CAPTURE_COLUMN_DELIMITER=delimiter_column set OFFLINE_CAPTURE_ROW_DELIMITER=delimiter_row
前述の行のdelimiter_columnはユーザーが指定する列デリミタで、delimiter_rowはユー ザーが指定する行デリミタです。
3. ファイルを保存し、終了します。
4. omwb_install_dir¥Omwb¥binにあるomwb.propertiesファイルをオープンしま す。
5. 次のフィールドを編集して、手順2で設定したデリミタ値と一致させます。
OFFLINE_CAPTURE_COLUMN_DELIMITER="delimiter_column"
OFFLINE_CAPTURE_ROW_DELIMITER="delimiter_row"
6. ファイルを保存し、終了します。
バルク・コピー・プログラム(BCP)によって、デリミタ文字が別のデリミタ文字に置き換 えられる場合もあります。たとえば、表10-1に示す各デリミタ文字の場合は、BCPによっ て、表10-2に示す各プラグインの別のデリミタ文字が生成されます。
BCPで使用されるデリミタ文字を確認するには、次の手順を実行します。
1. オフライン取得ファイルのいずれかをオープンします。
2. ファイル内の列デリミタを、手順2(オフライン取得スクリプトで使用されるデリミタ 文字の変更)で指定した列デリミタ文字と比較します。
列デリミタは、ファイル内の列データの各ピースを区切ります。
注意 注意注意
注意: デリミタ値は二重引用符で囲んでください。
表 表表
表10-2 バルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタバルク・コピー・プログラムによって生成されるデリミタ プラグイン
プラグインプラグイン
プラグイン 行行行行 列列列列
Microsoft SQL Server 2000 ¤ §
Microsoft SQL Server 7.0 Ñ °
Microsoft SQL Server 6.5 Ñ °
Sybase Adaptive Server 11 Ñ °
Sybase Adaptive Server 12 Ñ °
Microsoft SQL ServerおよびSybase Adaptive Serverのトラブルシューティング
10-10 Oracle Migration Workbenchユーザーズ・ガイド for Microsoft Windows 98/NT/2000/XP
3. ファイル内の行デリミタを、手順2(オフライン取得スクリプトで使用されるデリミタ 文字の変更)で指定した行デリミタ文字と比較します。
行デリミタは、オフライン取得ファイルの各行の末尾に表示され、行データの終わりを 示します。
4. BCPによってデリミタ文字が別のデリミタ文字に置き換えられる場合は、ディレクトリ omwb_install_dir¥Omwb¥binにあるomwb.properties を編集して、BCPによっ て挿入されるデリミタ文字を次のように指定します。
OFFLINE_CAPTURE_COLUMN_DELIMITER="delimiter_column_bcp"
OFFLINE_CAPTURE_ROW_DELIMITER="delimiter_row_bcp"
空の文字列データを含む表の移行 空の文字列データを含む表の移行 空の文字列データを含む表の移行 空の文字列データを含む表の移行
Microsoft SQL ServerまたはSybase Adaptive Serverソース・データベース内の表のいずれ
かに空の文字列が含まれている場合は、移行する前に、その空の文字列に対して代入値を指 定する必要があります。
オンラインでのデータの移行の場合は、移行ウィザードを使用して、次の手順を実行しま す。
1. OMWB_install_dir¥binディレクトリにあるomwb.propertiesファイルをオープ ンします。
2. 移行時に空の文字列に対する代入値を設定するには、このファイルに次の行を追加しま す。
EMPTY_STRING_VALUE=value
前述の行のvalueは、任意の値です。デフォルトの値はunknownです。
3. 代入値のかわりに、空の文字列を表す1つの空白を使用する場合は、次の行を omwb.propertiesファイルに追加します。
EMPTY_STRING=SPACE
オフラインでのデータの移行の場合は、SQL*Loader制御ファイルが、移行時に空の文字列 を表す1つの空白を使用するように設定されます。
注意 注意注意
注意: 空の文字列に値を代入すると、この代入値を含む表に対するデー タベース・アプリケーションの動作に影響する場合があります。