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 | 出力の最初の行に列名を書き込みます。列名の前にはハッシュ文字(#)が付きます。このオプションを指定しない場合、デフォルトは列名なしです。 |
-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 で識別されるユーザーのパスワード。 |
SELECT 結果のコード ページ
以下のコード ページを -e オプションで使用できます。
•Windows-1252(オプションが省略された場合のデフォルト)
•Big5
•EUC_JP
•Shift_JIS または SJIS
•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 ステートメントのみを実行します。
次の例のように、UNION を使用して複数の SELECT ステートメントを組み合わせることができます。
SELECT * FROM Class WHERE max_size = 30
UNION
SELECT * FROM Class where max_size = 25
このクエリの結果は、1 つのレコード セットになります。