使用sql从表中写入文本

时间:2011-09-09 16:37:58

标签: sql sql-server tsql

我正在尝试从表中编写输出文本文件。我没有收到任何错误,但文件未创建。

 EXEC master..xp_cmdshell 'bcp "SELECT * FROM DB.dbo.table1" queryout "C:\employee.txt" -T -Sservername -U user111 -P pwd -c -t,'

没有创建文件,我不知道为什么。任何人都可以帮忙吗?

我没有收到错误,而是收到以下消息:

usage: bcp {dbtable | query} {in | out | queryout | format} datafile
 [-m maxerrors]            [-f formatfile]          [-e errfile]
 [-n native type]          [-c character type]      [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
  [-C code page specifier]  [-t field terminator]    [-r row terminator]



[-i inputfile]            [-o outfile]             [-a packetsize]

[-S server name]          [-U username]            [-P password]
[-T trusted connection]   [-v version]             [-R regional enable]
[-k keep null values]     [-E keep identity values]
  NULL

我在服务器A上运行它,但数据库在服务器B上。所以在服务器A上我使用了SQL SERVER管理工作室并给了服务器B详细信息以登录。之后我写了如上所述的查询。所以该文件将在哪个服务器上形成?

3 个答案:

答案 0 :(得分:0)

在用户名和通行证之后,即使有或没有空格,也为我工作。您是否对服务器盒上的C:\有写入权限?如果您还使用-T?

,是否需要用户名或通行证?

答案 1 :(得分:0)

来自MSDN

  

安全提示

     

bcp 实用程序使用集成安全性连接到具有可信连接的SQL Server时,请使用 -T 选项(可信连接) { {1}} 用户名密码组合。

答案 2 :(得分:0)

查询是正确的 -

EXEC master..xp_cmdshell 'bcp "SELECT * FROM DB.dbo.table1" queryout "C:\employee.txt" 

-Sservername -U user111 -P pwd -c -t,'

在SQL SERVER MANAGEMENT工作室中输入时,我在queryout之后按下了输入,因此语句“C:\ employee.txt”-Sservername -U user111 -P pwd -c -t,'进入下一行。 因为这个我没有收到任何错误或