deu
説明
deu データ エクスポート ユーティリティは、SQL SELECT ステートメントの結果を区切り文字付きテキスト ファイルにエクスポートします。
メモ:このユーティリティは、アプリケーションによるバイナリ データのレンダリングや使用に依存しません。バイナリ データをエクスポートするときは、0x123abc のようなバイナリ形式で書き込みます。
概要
deu database selectfile resultsfile [options]
[-c] [-e fileencoding] [-f fielddelimiter] [-h] [-l logfile] [-n portnumber]
[-s servername] [-o] [-u loginid] [-p password]
オプション
database | selectfile 内の SQL ステートメントが実行されるデータベース。データベース名またはサーバー DSN を指定できます。 |
selectfile | database に対して実行する SQL ステートメントを含むテキスト ファイル。このファイルは、現在のディレクトリから、またはファイル名と共に提供されるパスを使用した場所から読み取られます。 メモ:Unicode 文字はサポートされていません。SELECT ファイルで Unicode 文字を使用している場合は、deu により "指定されたサーバーに接続できません。" というエラー メッセージが返されます。 |
resultsfile | SQL SELECT ステートメントの結果を入れるテキスト ファイル。このファイルは、存在する場合は上書きすることができます。-o オプションが使用されていない限り、デフォルトでは、ユーザーは上書きするかどうかの確認が求められます。 |
-c | 出力の最初の行に列名を書き込みます。列名の前にはハッシュ文字(#)が付きます。このオプションを指定しない場合、デフォルトは列名なしです。 |
-d fileencoding | ソース ファイルを、指定された文字エンコードで読み取ります。このオプションを指定しない場合、デフォルトはオペレーティング システムのエンコードです。コード ページ名では、大文字と小文字は区別されません。 データ ソースのコード ページ を参照してください。 |
-e fileencoding | 結果ファイルを、指定された文字エンコードで書き込みます。このオプションを指定しない場合、デフォルトは Windows-1252 です。コード ページ名では、大文字と小文字は区別されません。 SELECT 結果のコード ページを参照してください。 |
-f fielddelimiter | SELECT の結果のフィールド区切り文字。このオプションを指定しない場合、デフォルトはカンマです。 |
-h | ヘルプを表示します。 |
-l logfile | ログ メッセージを標準出力に加えてファイルにも書き出します。logfile は、メッセージ エントリを記録するファイルの名前です。このファイルは、現在のディレクトリ、またはファイル名と共に提供されるパスを使用した場所に書き込まれます。 |
-n portnumber | servername 上で動作しているデータベース エンジンが受信待ちしている TCP ポート番号。このオプションを指定しない場合、リレーショナル エンジンが使用するデフォルトのポート 1583 になります。 |
-o | resultsfile が存在する場合、確認を求めずにファイルを上書きします。 |
-s servername | データベースが定義されているサーバーの名前。このオプションを指定しない場合、デフォルトはローカル マシンです。IP アドレスを使用することもできます。 |
-u loginid | セキュリティが有効なデータベースに定義されたユーザーの名前。 |
-p password | loginid で識別されるユーザーのパスワード。 |
データ ソースのコード ページ
以下の値は -d オプションで使用できるコード ページを示します。このオプションを指定しない場合、デフォルトはオペレーティング システムのエンコードです。これらの値では、大文字と小文字は区別されません。
•ANSI:CP1250、CP1251、CP1252( Windows のデフォルト)、CP1253、CP1254、CP1255、CP1256、CP1257、CP1258、CP932、CP936、CP949、CP950
•OEM:CP720、CP737、CP775、CP850、CP852、CP855、CP857、CP858、CP862、CP866、EUCJP
•Unicode:UTF-8、UTF-16LE
SELECT 結果のコード ページ
以下の値は -e オプションで使用できるコード ページを示します。このオプションを指定しない場合、デフォルトは CP1252 です。これらの値では、大文字と小文字は区別されません。
•ANSI:CP1250、CP1251、CP1252( Windows のデフォルト)、CP1253、CP1254、CP1255、CP1256、CP1257、CP1258、CP932、CP936、CP949、CP950
•OEM:CP720、CP737、CP775、CP850、CP852、CP855、CP857、CP858、CP862、CP866、EUCJP
•Unicode:UTF-8、UTF-8-BOM、UTF-16BE、UTF-16BE-BOM、UTF-16LE、UTF-16LE-BOM
その他のエクスポート形式
次の一覧は、deu による、選択されたデータ型のエクスポートの処理方法を示します。
•BIT – 0 または 1
•BFLOAT4、REAL – 指数表記、有効桁数 7
•BFLOAT8、DOUBLE、FLOAT – 指数表記、有効桁数 16
•DATETIME、TIMESTAMP – 年-月-日 時:分:秒.ナノ秒
•DATE – 年-月-日
•TIME – 時:分:秒
•UNIQUEIDENTIFIER – GUID(例:11111111-2222-3333-4444-111111111111)
例
次の例は、deu コマンド ラインの -h ヘルプに含まれているものです。
deu demodata select.sql datafile.dat -c -l log.txt
この場合、select.sql ファイルおよび datafile.dat ファイルは現在のディレクトリにある必要があります。次の例では、ドライブ D: にある Data というディレクトリを使用しています。
C:\>deu demodata D:\Data\select.sql D:\Data\datafile.dat -c -l D:\Data\log.txt
deu は、結果が 1 つのレコード セットになる、selectfile 内の 1 つの SELECT ステートメントを受け入れるように設計されています。複数の SELECT ステートメントがセミコロンで区切られて含まれるファイルの場合、エラーは返されませんが、deu は最初の SELECT ステートメントのみを実行します。
selectfile では、次の例のように、 UNION を使用して複数の SELECT ステートメントを組み合わせることができます。
SELECT * FROM Class WHERE max_size >= 100
UNION
SELECT * FROM Class where max_size <= 25
このクエリの結果は、1 つのレコード セットになります。