【问题标题】:export data into excel using BCP AND commandShell使用 BCP AND commandShell 将数据导出到 excel
【发布时间】:2018-01-24 12:12:50
【问题描述】:

我正在从视图中选择数据

我遇到了错误

usage: bcp [[db_name.]owner.]table_name[:slice_num] [partition pname] {in | out} [filename]
[-m maxerrors] [-f formatfile] [-e errfile] [-d discardfileprefix] 
[-F firstrow] [-L lastrow] [-b batchsize]
[-n] [-c] [-t field_terminator] [-r row_terminator]
[-U username] [-P password] [-I interfaces_file] [-S server]
[-a display_charset] [-z language] [-v]
[-i input_file] [-o output_file] 
[-A packet size] [-J client character set] 
[-T text or image size] [-E] [-g id_start_value] [-N] [-W] [-X]
[-M LabelName LabelValue] [-labeled]
[-K keytab_file] [-R remote_server_principal] [-C]
[-V [security_options]] [-Z security_mechanism] [-Q] [-Y]
[-y sybase directory] [-x trusted.txt_file]
[--clienterr errfile] [--maxconn maximum_connections]
[--show-fi] [--hide-vcc]
[--colpasswd [[[db_name.[owner].]table_name.]column_name [password]]]
[--keypasswd [[db_name.[owner].]key_name [password]]]
[--initstring ASE initialization string] [--quoted-fname]

declare @sql varchar(8000)

Select @sql=  'bcp "Select * from eBenefitSync_GUI_PH.dbo.Disp_View" out D:\Contacts.txt -c -T ' +'-s ' +@@servername+'\'+@@servicename
--EXECUTE master.dbo.xp_cmdshell @SQL

【问题讨论】:

  • 请打印@sql并发布
  • 你试过只用'-s ' + @@SERVERNAME吗?
  • 是的,它不能用它,但是用IP,不知道为什么(超时错误),我也用过servername\instancename
  • 你要不要发@SQL的内容?

标签: sql-server sql-server-2008 export-to-excel bcp xp-cmdshell


【解决方案1】:

用法告诉您它需要一个 database.table 语法,而不是 SQL 查询。尝试删除 select * from:

declare @sql varchar(8000)

Select @sql=  'bcp "eBenefitSync_GUI_PH.dbo.Disp_View" out D:\Contacts.txt -c -T ' +'-s ' +@@servername+'\'+@@servicename
--EXECUTE master.dbo.xp_cmdshell @SQL

【讨论】:

  • 我有一个复杂的查询,我在多个表上使用连接。你能建议我怎么做吗?
  • 这不是您使用视图的目的吗? (我假设 Disp_view 是一个视图)
【解决方案2】:

要使用 BCP 导出查询,您需要使用 queryout parameter 而不是 out 参数。 out parameter 只能直接寻址表或视图,而不是查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多