ArcSDE コマンドを使用した Oracle の LONG RAW 属性列の移行
migrate 操作を指定した sdetable コマンドを使用して、LONG RAW 非空間属性列を BLOB に移行することができます。この操作では、ATTRIBUTE_BINARY パラメータを BLOB に設定した DBTUNE コンフィグレーション キーワードを指定することで、属性列の格納を LONG RAW から BLOB に変更します。
sdetable を使用して、テーブル内のすべての LONG RAW 列を一度に移行することもできます。たとえば、LONG RAW ラスタ格納を使用し、ジオメトリ格納に LONG RAW を使用し、LONG RAW のバイナリ属性列が含まれているフィーチャクラスがある場合は、sdetable を使用すると、-k オプションで指定したコンフィグレーション キーワードに設定されたパラメータに基づいて、3 つの列すべてが変換されます。指定されたコンフィグレーション キーワードに、BLOB に設定した ATTRIBUTE_BINARY パラメータ、SDELOB または ST_GEOMETRY に設定した GEOMETRY_STORAGE パラメータ、BLOB または ST_RASTER に設定した RASTER_STORAGE パラメータが含まれていれば、すべての列データ タイプが変換されます。
sdetable –o migrate の構文は次のとおりです。
sdetable –o migrate –t <table> –k <config_keyword> [–i {<service> | <direct_connection>}] [–s <server>] –u <user_name> [–p <user_password>] [–N] [–q]
使用できるオプションは以下のとおりです。
オプション |
説明 |
---|---|
–o |
このオプションは、実行する操作(ここでは migrate)を指定します。 |
–t |
このオプションを使用して、移行される列(複数可)が含まれるテーブルの名前を指定します。 |
–k |
このオプションは、移行後のフィーチャクラスのジオメトリ格納タイプを示す DBTUNE コンフィグレーション キーワードを指定します。キーワードには、Oracle データベースの場合は SDELOB または ST_GEOMETRY に設定した GEOMETRY_STORAGE パラメータ、SQL Server データベースの場合は GEOMETRY または GEOGRAPHY に設定した GEOMETRY_STORAGE パラメータを含める必要があります。 |
–i |
使用するダイレクト コネクション構文、またはジオデータベースへの接続に使用する ArcSDE サービスのポート番号またはサービス名を指定します。 ダイレクト コネクション構文については、「ArcSDE コマンドから Oracle のジオデータベースへのダイレクト コネクション」または「ArcSDE コマンドから SQL Server のジオデータベースへのダイレクト コネクション」をご参照ください。 |
–s |
データベースが存在するサーバの名前を指定します。 |
–u |
フィーチャクラス所有者がデータベースにログインするためのユーザ名を指定します。 |
–p |
ユーザのパスワードを指定します。 |
–N |
操作を確認するプロンプトが表示されないようにするには、このオプションを指定します。 |
–q |
すべてのタイトルや警告が表示されないようにするには、このオプションを指定します。 |
次のいずれかに該当する場合は、migrate 操作を指定した sdelayer コマンドを実行すると、エラー メッセージが表示されます。
- データが低精度で格納されている場合
- -u で指定したユーザがテーブル所有者ではない場合
- フィーチャクラスの既存の格納タイプが、指定された DBTUNE キーワードと同じである場合(つまり、キーワードで指定した格納タイプがすでにテーブルで使用されているため、移行が不要な場合)
- ビジネス テーブルにオブジェクト ID フィールドが含まれていない場合
- 9.2 よりも前の ArcSDE ジオデータベースで migrate 操作を使用した場合
- Oracle または SQL Server 以外の DBMS で migrate 操作を使用した場合
- 3D フィーチャが含まれる SDO_Geometry フィーチャクラスを移行しようとした場合。3D の Oracle Spatial ジオメトリからの WKB 表現または WKT 表現の生成は、Oracle Spatial ではサポートされていないため、このようなデータを sdelayer コマンドで移行することはできません。
-
移行するデータのバックアップを作成します。
移行するデータのバックアップ コピーを作成しておくと、何らかの理由で移行が失敗した場合でも元のデータを復元できます。
- DOS コマンド プロンプト(Windows の場合)またはシェル(UNIX または Linux の場合)を開きます。
-
migrate 操作を指定した sdetable コマンドを実行します。例を次に示します。
sdetable –o migrate –t owners –k DEFAULTS –i 68910 –s mainserver –u bjar –p mine.all.mine
変換後のデータのタイプを示す ATTRIBUTE_BINARY 値が含まれるコンフィグレーション キーワードを必ず指定してください。