2

私は SQL Server で BCP を初めて使用します。http://msdn.microsoft.com/en-us/library/ms162802.aspxをチェックして、BCP パラメーターの使用方法を確認しました。field_terminator のパラメーターは -t です。各フィールドの間にカンマを入れたい場合は、'-t ,' と入力します。

しかし、フィールド間に空の「スペース」を指定する方法は?

私はすでに-tパラメータを入れないようにしましたが、デフォルトではTABです...

編集:申し訳ありませんが、私は十分に正確ではありませんでした。次のようなSQLクエリを使用したBCP EXPORT用です

'BCP "select * from ##OutputTable' + '" queryout \\server\filename_' 
   + CONVERT(VARCHAR(10), @CurrentID) + '.upl -t , -w -T -S' + @InstanceName
4

4 に答える 4

2

ドキュメントには、これに関する詳細は記載されていません。BCP では、実際には0x20スペース区切りのログに 16 進表現 ( ) が必要です。これは、コマンドラインで私にとってはうまくいきました:

bcp webLogs.dbo.iisLogs IN C:\temp\logs\ex170112.log -c -t0x20 -S localhost\SQLEXPRESS -T
于 2017-04-12T14:44:18.803 に答える
0

-t' '一括挿入の回答と同様に、フィールド ターミネータとしてスペースを指定するために使用できるはずです。

'BCP "select * from ##OutputTable' + '" queryout \\server\filename_' 
   + CONVERT(VARCHAR(10), @CurrentID) + '.upl -t' ' -w -T -S' + @InstanceName 
于 2013-11-06T17:56:28.010 に答える
0

\0 ターミネータ (null ターミネータ) を使用すると、出力として設定したテキスト ファイルの各列の値の間にスペースがありました。多分これはあなたが使用する必要があるものです。

于 2014-06-03T20:24:02.653 に答える
-1

以下の例を試してみてください。ただし、カンマの代わりにスペース ' ' を使用してください。

USE AdventureWorks;
GO
BULK INSERT myDepartment FROM 'C:\myDepartment-c-t.txt'
   WITH (
      DATAFILETYPE = 'char',
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '\n'
);
GO
于 2013-11-06T16:15:26.607 に答える