bcp
Sybase ASE データベースからレコードを抽出してファイルに書き込もうとしています。.fmt
データベース内の 2 つのフィールドを除外する必要があるため、フォーマットファイルを使用しようとしています。
これは私のbcpです:
bcp Rdevdb..TBL_XFER out out1.txt -S$serv -U$user -P$pass -fbcp.fmt -c -t\|
| が必要です char を区切り文字にします。
スイッチを使用すると
-c
、フォーマット ファイルをまとめて無視しているように見えますが、これは本当ですか?どちら
-n
の-c
スイッチも使用しないと (ネイティブまたは char の形式を指定するために)、ネイティブ形式を使用してファイルを作成するように見えます。ケース?を含め、
-c
フォーマット ファイルで不要な 2 つのフィールドを削除すると、すべての db フィールドがファイルに取り込まれます。そのため、.fmt ファイルを無視すると考えています。スイッチを削除
-c
し、.fmt ファイルに含まれていない 2 つのフィールドで実行すると、次のエラーが発生します。Incorrect host-column number found in bcp format-file.
コマンドで必要な結果を得るには、どのようなスイッチの組み合わせと .fmt ファイルに何を含める必要があります
bcp
か?
ファイルの一部を次に示し.fmt
ます。どのテーブル フィールド名にもスペースはありません (これには、ファイルに含めたくないフィールド 1 またはフィールド 2 は含まれません)。
10.0
147
3 SYBCHAR 2 6 "|" 3 COVERAGE_CODE
4 SYBCHAR 2 6 "|" 4 DEPT
5 SYBCHAR 2 8 "|" 5 ORG
6 SYBCHAR 2 8 "|" 6 DIV
7 SYBCHAR 2 8 "|" 7 DISTRIBUTE
...
テーブルには 147 のフィールドがありますが、.fmt ファイルにすべてのフィールドを含めると、バージョンとフィールド番号を指定する最初の 2 行で合計 149 になります。
助けてくれてありがとう。