我有这样的BCP命令:

'bcp DBName..vieter out c:\test003.txt -c -T /t"\",\"" -S SERVER'

在输出CSV我得到不把周围的字段名的报价,而是把它周围的逗号!我怎样才能获得/t"\",\""把周围的一切领域引号。

由于所有

有帮助吗?

解决方案

除了字段终止应达到目的设置行终止

'bcp DBName..vieter out c:\test003.txt -c -T -t"\",\"" -r"\"\n\"" -S SERVER'

这可能会工作,但错过关闭领先“的第一行的第一场,也许是最后一行的最后一个领域 - !我不知道,只是在这里猜测真的,没有服务器

或尝试使用QUOTENAME换行文本字段(你也可以换号,但通常不需要。)

'bcp "SELECT id, age, QUOTENAME(name,'"') FROM DBName..vieter" queryout c:\test003.txt -c -T -t"," -S SERVER'

其他提示

您需要使用CHAR(34),用于所述报价。这个页面有更多的细节: http://www.sqlteam.com/forums/topic的.asp?TOPIC_ID = 153000

下面是我用的命令的列表。

BCP "DECLARE @colnames VARCHAR(max);SELECT @colnames = COALESCE(@colnames + ',', '') + column_name from databaseName.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='tableName'; select @colnames;" queryout "C:\HeadersOnly.csv" -r"\n\""  -c -T -Uusername -Ppassword -SserverName

bcp databaseName.schema.tableName out "C:\EmployeeDatawithoutheaders.csv" -T -t"\",\"" -r"\"\n\"" -c -Uusername -Ppassword -SserverName

copy /b C:\HeadersOnly.csv+C:\EmployeeDatawithoutheaders.csv C:\EmployeeData.csv

del C:\HeadersOnly.csv

del C:\EmployeeDatawithoutheaders.csv

BCP “SELECT CHAR(34)+ * +炭(34)FROM atable queryout ”C:\ TEMP \ out.csv“ -T -N -c /吨” \” \ “”

这将会把报价之前和每个字段(包括第一和最后一个)之后。

我想用一个唯一的标识符,从而导入过程没有问题你的目标是明确独立的字段值。

我有同样的问题,发现这个workaroud有用:使用一个不同寻常的字段终止,例如|甚至串/#/可以是非常独特的,不应该乱用你的字符串的内容。您也可以十六进制值(有限,看的 https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-2017

导出

bcp DB.dbo.Table out /tmp/output2.csv -c -t "/#/" -U sa -P secret -S localhost

导入

bcp TargetTable in /tmp/output2.csv -t "/#/" -k -U sa -P secret -S localhost -d DBNAME -c -b 50000 

在实际可行的答案,即删除前导报价,是:结果

A)产生具有BCP格式文件:

bcp db.schema.tabel format nul -c -x -f file.xml -t"\",\"" -r"\"\r\n" -T -k

B)编辑该文件手动字段1复制到上述场0,如在第一字段中,设置MAX_LENGTH = 1和去除分离器和一个QUOT的是FIELD1

<FIELD ID="0" xsi:type="CharTerm" TERMINATOR="\&quot;" MAX_LENGTH="1" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>

在特技工作的,作为要添加的字段(接口到该文件),以检测所述第一seprator,这导致总是空值,但是不添加行(接口用于查询输出)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top