PowerFX V1.0 移行説明書 - Microsoft(R) Windows(R) -
目次 索引 前ページ次ページ

第5章 Windows(R)での作業> 5.2 資産の移入と変換> 5.2.3 ファイル移行機能

5.2.3.2 ファイル移行機能(cnvdbrecコマンド)の使用方法

ここでは、cnvdbrecコマンドの起動方法、記述形式、パラメーター、記述例について説明します。

■起

cnvdbrecコマンドの起動方法を以下に示します。

  1. コマンドプロンプトを起動します。
    コマンドプロンプトの起動方法を以下に示します。
    1. Windows(R)の[スタート]−[ファイル名を指定して実行]を選択します。
    2. ファイル名を指定して実行ダイアログボックスで、cmdと入力して[OK]ボタンをクリックします。
      ⇒コマンドプロンプトが起動します。
  2. cnvdbrecコマンドの記述形式にしたがってパラメーターを指定し、[Enter]キーを押します。

■記

cnvdbrecコマンドの記述形式は、以下のとおりです。

■パター

入力ファイル
物理ファイルの場合は、.PF形式のファイルを、マルチボリューム物理ファイルの場合は、.MPF形式のファイル名を200バイト以内で指定します。

物理ファイルを指定する場合は、指定する物理ファイルが存在するフォルダに、物理ファイル領域(レコード格納域)が存在していることを確認してください。
マルチボリューム物理ファイルを指定した場合は、以下の確認が必要です。
  • 指定したマルチボリューム物理ファイルが存在するフォルダがあるフォルダと同じ階層に、マルチボリューム物理ファイルを構成する物理ファイルのライブラリ名と同名のフォルダが存在する。
    例)MPF.MPF(ライブラリ名:LIB1)というマルチボリューム物理ファイルは、PF1.PF(ライブラリ名:LIB2)とPF2.PF(ライブラリ名:LIB3)の2つの構成物理ファイルから構成されていた場合のファイル構成を以下に示します。
    C:\LIB1\MPF.MPF
    C:\LIB2\PF1.PF
    C:\LIB2\PF1.DAT
    C:\LIB3\PF2.PF
    C:\LIB3\PF2.DAT
  • マルチボリューム物理ファイルで定義された物理ファイルのライブラリ名と同名のフォルダに、物理ファイルおよび物理ファイル領域(レコード格納域)が存在する
出力SQLテーブル名
移出先を、以下の形式で指定します。
SQLテーブル名は、-logpathパラメーターで指定したフォルダ名と合わせて、180バイト以内の文字列で指定してください。SQLテーブル名は、必ず指定してください。
-dsn ODBCのデータソース名
ODBCのデータソース名を32バイト以内の文字列で指定します。
必須パラメーターであるため、省略できません。
-logpath ログファイル格納フォルダ名
ログファイルを格納するフォルダ名を、180バイト以内のフルパスで指定します。
必須パラメーターであるため、省略できません。
-f 出力CSVファイル名
レコードをファイルに移出する場合に、移出するCSVファイル名をフルパスで指定します。
省略すると、SQLテーブルに移出されます。
-a
移出先のSQLテーブルに、レコードを追加形式で出力します。
省略すると、移出先のSQLテーブルを初期化して、レコードを追加します。
-c
移出したレコード件数を表示します。
-nパラメーターが指定されている場合は、-cを指定しても移出したレコード件数は表示されません。省略すると、移出したレコード件数は表示されません。
-j 移出先コード系
移出したレコードの文字コードを指定します。-jに続けて、以下のいずれかを指定します。省略すると、移出したレコードの文字コードはShift-JISになります。
-m 移出元コード系
文字コードの変換モードを指定します。-mに続けて、以下のいずれかを指定します。
省略すると、文字コードの変換モードは「EBCDIC カナ」になります。
-n
メッセージを表示させない場合に指定します。
省略すると、メッセージが表示されます。
-s 警告エラー停止件数
ログファイルに出力するエラー件数を指定します。
指定した件数のエラーが発生した場合、移行処理を中止します。件数は1〜2147483647の範囲で指定します。
省略すると、エラーが発生しても移行処理を継続します。
-x 英数字項目名
指定した英数字項目の先頭2バイトをバイナリデータとし、3バイト目以降を英数字文字データとして変換する場合に指定します。
SMED混在項目の内容をそのまま英数字項目に格納すると、先頭2バイトが数値、3バイト目から文字データが格納されてしまいます。この場合、英数字項目の内容はコード変換できません。このような場合の英数字項目を -x で指定します。
省略すると、すべての英数字項目内のデータは、すべて英数字文字データとして変換されます。
-u "ユーザー名" "パスワード"
移出先(データベース)のユーザー名とパスワードを二重引用符で囲んで指定します。省略した場合はWindows認証が指定されたものとして動作します。パスワード中に、二重引用符を含む場合は、¥"を指定します。¥の場合には\\を指定します。
-dbms データベース名
データベース名を指定します。-dbmsに続けて、sql-serverまたはoracleを指定します。
省略すると、sql-serverが指定されたものとして動作します。
-kanji 漢字種別
文字コードの変換形式を指定します。-kanjiに続けて、以下のいずれかを指定します。
省略すると、文字コードを字形重視で変換します。

cnvdbrecコマンドの記述例を以下に示します。

cnvdbrec c:\asp\data1.PF db1.schema1.table1 -dsn datasource -logpath c:\log

cドライブ直下のASPフォルダにある「data1.PF」のレコードを、「db1.schema1.table1」というテーブルに移出します。

■ログファイ

ログファイルには、警告情報および使用したODBC関数でエラーとなった場合の詳細情報が出力されます。
ログファイルはcnvdbrecコマンドの起動時に以下の名前で作成します。

ログファイル名: データベース名_スキーマ名_テーブル名_YYYYMMDD_hhmmss.log

また、ファイルサイズの上限を設けていないため、必要に応じて-sパラメーターで制限をかけてください。

ログファイルの上書きは行いませんので、利用者が不要な場合には削除してください。

■対応するデータ型について

ASPのデータベース資産のデータ型とSQL ServerやOracleのデータ型は異なっているため、ASPのデーターベース資産の移行の際には、対応するSQL ServerやOracleのデータ型に合わせる必要があります。

以下にASPのデータベース資産のデータ型に対応するSQL ServerおよびOracleのデータ型を示します。

なお、項目サイズは、ASPのデータベース資産の項目サイズより大きければ移行は可能です。

表5.11 ASPのデータベース資産のデータ型に対応するデータ型(データ型番号)

ASP データベース資産データ型

SQL Server対応データ型

Oracle対応データ型

データ型

項目サイズ

(バイト数)

データ型(データ型番号)

項目サイズ

(バイト数)

データ型(データ型番号)

項目サイズ

(バイト数)

X

英数字

1〜9999
(桁数と同じ)

CHAR(1)

文字列

1〜8000
(桁数と同じ)

CHAR (1)

1〜2000
(桁数と同じ)

BINARY(-2)
(ユーザー指定)

バイナリデータ

(最大8000)

RAW(-3)
(ユーザー指定)

最大2000

N

漢字

1〜4999
(桁数×2)

CHAR(1)
2文字分必要です

文字列

2〜4000
(桁数×2)

CHAR (1)
2文字分必要です

2〜1000
(桁数×2)

NCHAR(-8)

日本語

2〜4000
(桁数×2)

NCHAR (-8)

2〜1000
(桁数×2)

U

外部10進数

1〜18桁
小数0〜18桁
(桁数と同じ)

NUMERIC(p,s)

固定小数点数

小数部の桁数を含めて1〜38桁

NUMBER(p,s)
(3)

精度pは1〜38桁、位取りsは-84〜127

P

内部10進数

1〜18桁
小数0〜18桁
(桁数÷2+1)

DECIMAL(p,s)

B

2進数字項目

1〜4桁

SMALLINT(5)

2バイト整数

NUMBER(p,0)
(2)

5〜9数桁

INT(4)

4バイト整数

10〜18桁

BIGINT(-5)

8バイト整数

NUMBER(p,0)
(3)

小数桁が存在する場合

DECIMAL(3)

固定小数点数

NUMBER(p,s)
(3)

I

4バイト整数

INT(4)

4バイト整数

NUMBER(p,0)
(3)

2バイト整数

SMALLINT(5)

2バイト整数

F

単精度浮動小数点数(IEEE)

項目長:
4バイト

REAL(7)

浮動小数点数

(4バイト)

FLOAT(8)

4バイト

RAW(-3)

倍精度浮動小数点数(IEEE)

項目長:
8バイト

FLOAT(6)

浮動小数点数

(8バイト)

FLOAT(8)

8バイト

RAW(-3)

単精度浮動小数点数(M型)

項目長:
4バイト

BINARY(-2)

バイナリデータ

4バイト

RAW(-3)

4バイト

倍精度浮動小数点数(M型)

項目長:
8バイト

BINARY(-2)

バイナリデータ

8バイト

RAW(-3)

8バイト

拡張倍精度浮動小数点

項目長:
12バイト

BINARY(-2)

バイナリデータ

12バイト

RAW(-3)

12バイト

4倍精度浮動小数点

項目長:
16バイト

BINARY(-2)

バイナリデータ

16バイト

RAW(-3)

16バイト

L

BLOB

CHAR(1)

文字列

CHAR (1)

T

ビット

BINARY(-2)

バイナリデータ

RAW(-3)

−:なし

注意事項

  1. ASP データベース資産のデータ型X(英数字)、N(漢字)では、9999桁までのデータが格納できますが、SQL Serverでは8000桁、Oracleでは2000桁までのデータしか格納できません。そのため、SQL Serverでは8000桁、Oracleでは2000桁以上のデータではデータの切り捨てが発生します。また、格納できる桁以下の場合は移行先(ASP データベース資産のデータ型)の項目長が移行元より小さい場合は、異常終了します。
  2. ASP データベース資産のデータ型U、P、B(小数桁あり)では、移行先より移行元(ASP データベース資産のデータ型)の桁数が大きい場合は、異常終了します。
  3. ASP データベース資産のデータ型と移行先のデータ型が一致(上記表参照)しない場合は、異常終了します。
  4. ログファイル出力メッセージに出力されるSQL ServerやOracleの項目型は、上記表内のデータ型番号で示されます。
  5. OracleのFLOAT型の値の範囲(*1.0E-130 〜 *9.9E+125)は、ASP データベース資産の単精度/倍精度浮動小数点(IEEE)と異なります。このため、移行時に、OracleのFLOAT型の値の範囲を超えると、Oracleにより数値のオーバーフロー、アンダーフローまたは0へのまるめが発生する場合があります。FLOAT型でエラーとなる場合には、RAW型(無変換)を設定し移行を行ってください。
  6. ASP データベースの単精度/倍精度浮動小数点(IEEE)については、移行後の値は、データベースに依存してしまうため、誤差が発生することがあります。
  7. 小数桁がある2進数字項目は、DECIMAL(p,s)またはNUMBER(p,s)に移行しますが、小数点桁がある2進数項目についてはPowerRDBconnectorではサポートしていません。

異常なデータの扱いについて

移出元のASPデータベースには、項目のデータ型の範囲を超えたデータが格納されている場合があります。このようなデータの扱いについて以下に示します。

■コマンド実行時の注意事


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005