BCP导出问题

soft_wsx 2009-09-21 11:04:21
exec master..xp_cmdshell 'bcp "select ''商品编号'',''商品名称'',''商品产地'',''生产厂家'',''入库数量'',''入库金额'',''结存数量''
''结存金额'' union all select a.spbh,a.spmch,a.shpchd,
a.dw,CAST(rkshl as nvarchar),CAST(rkje as nvarchar),CAST(jcshl as nvarchar),CAST(jcje as nvarchar)
from kmzysy.dbo.spkfk a join kmzysy.dbo.splsk b on a.spid=b.spid" queryout c:\spkfk.xls -c -S YANGXING\SQL2008 -U sa -P 123456'

exec master..xp_cmdshell 'bcp "select ''商品编号'',''商品名称'',''商品产地'',''生产厂家'',''入库数量'',''入库金额'',''结存数量''
''结存金额'' union all select a.spbh,a.spmch,a.shpchd,
a.dw,CAST(rkshl as nvarchar),CAST(rkje as nvarchar),CAST(jcshl as nvarchar),CAST(jcje as nvarchar)
from kmzysy.dbo.spkfk a join kmzysy.dbo.splsk b on a.spid=b.spid" queryout c:\spkfk.xls -c -S YANGXING\SQL2008 -U sa -P 123456'
/*
output
用法: bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-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]
[-h "load hints"]
NULL
*/



这条语句,放到一行可以导出,换行就不行了!请问怎么弄才可以正常导出!
...全文
295 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxj828282 2009-09-21
  • 打赏
  • 举报
回复
bcp
lg314 2009-09-21
  • 打赏
  • 举报
回复
好像不是这个问题
lg314 2009-09-21
  • 打赏
  • 举报
回复
加空格看看吧,看看是不是数据被截断了
lg314 2009-09-21
  • 打赏
  • 举报
回复
declare @sql nvarchar(4000)
set @sql=N''
set @sql=N'exec master..xp_cmdshell ''bcp "select ''''商品编号 '''',''''商品名称 '''',''''商品产地 '''',''''生产厂家 '''',''''入库数量 '''',''''入库金额 '''',''''结存数量 '''',
''''结存金额 '''' union all select a.spbh,a.spmch,a.shpchd,a.dw,CAST(rkshl as nvarchar),CAST(rkje as nvarchar),CAST(jcshl as nvarchar),CAST(jcje as nvarchar)
from kmzysy.dbo.spkfk a join kmzysy.dbo.splsk b on a.spid=b.spid" queryout c:\spkfk.xls -c -S YANGXING\SQL2008 -U sa -P 123456'''
print @sql
exec(@sql)
ks_reny 2009-09-21
  • 打赏
  • 举报
回复
這也許就是它規定的格式吧,你把那段查詢弄成視圖吧.
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
declare @sql nvarchar(4000)
set @sql=N''
set @sql=N'exec master..xp_cmdshell ''bcp "select ''''商品编号'''',''''商品名称'''',''''商品产地'''',''''生产厂家'''',''''入库数量'''',''''入库金额'''',''''结存数量'''',
''''结存金额'''' union all select a.spbh,a.spmch,a.shpchd,a.dw,CAST(rkshl as nvarchar),CAST(rkje as nvarchar),CAST(jcshl as nvarchar),CAST(jcje as nvarchar)
from kmzysy.dbo.spkfk a join kmzysy.dbo.splsk b on a.spid=b.spid" queryout c:\spkfk.xls -c -S YANGXING\SQL2008 -U sa -P 123456'''
print @sql
exec(@sql)
还是不行!
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sql77 的回复:]
用动态来看看,用字符串来弄
[/Quote]我试一下!
SQL77 2009-09-21
  • 打赏
  • 举报
回复
用动态来看看,用字符串来弄
lg314 2009-09-21
  • 打赏
  • 举报
回复
可能截断字符了
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
还是一样的!如果把语句全部放在一行中,就可以运行!
lg314 2009-09-21
  • 打赏
  • 举报
回复
''结存数量''
后面少了个,
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
d
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
不会转,请指点!学习!
jjx5373 2009-09-21
  • 打赏
  • 举报
回复
#8楼
jjx5373 2009-09-21
  • 打赏
  • 举报
回复
查询语句转化成VIEW 简化BCP 工具的参数,不行吗?
我刚才好像看到谁跟你说转化成VIEW了,再去找贴子,竟然找不到了.

soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
呵呵,感谢回复!
lg314 2009-09-21
  • 打赏
  • 举报
回复
确实是这个问题! bcp里面不能用回车.以前bcp没写过这么长的,没发现
SQL77 2009-09-21
  • 打赏
  • 举报
回复
DECLARE @STR NVARCHAR(4000)
SET @STR='bcp "SELECT TOP 20 * FROM LSDDB2.DBO.NUM'
DECLARE @STR1 NVARCHAR(4000)
SET @STR1='" queryout c:\NUM.txt -c -U"sa" -P"123"'
DECLARE @STR2 NVARCHAR(4000)
SET @STR2=@STR+@STR1

--PRINT @STR2

EXEC('EXEC master..xp_cmdshell '''+@STR2+'''')
lg314 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 soft_wsx 的回复:]
引用 22 楼 jjx5373 的回复:
你打上回车符,相当于结果了参数输入,所以参数就不对了,


那怎么办呢?
[/Quote]

set @sql=replace(@sql,char(13),'')

这样???
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 sql77 的回复:]
引用 21 楼 liangck 的回复:
不要显式的断行..
如果是太长.可以用连接字符串的形式.
set xx = 'xx'
set xx= xx+ 'xxx'

cmd下.断行会认为你的语句结束.

萧大侠,试试这样,显示加起来
[/Quote]OK试下先
加载更多回复(14)

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧