数据导出Excle

--1:本地数据导出

--测试环境

create table menbers(id int, user_name varchar(10),ages int,nation varchar(10),city varchar(10),remark varchar(20))
insert into menbers select 1,'zlp321001',21,'中国','北京','中国人是好样的'

--导出语句

exec master..xp_cmdshell 'bcp "test.dbo.menbers" out "D:/test.xls" -c -q -U"sa" -P""'

--测试结果

NULL
开始复制...
NULL
已复制了 1 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共      1
NULL

(所影响的行数为 7 行)

或者:"E:/工具"设置成可共享目录

exec master..xp_cmdshell 'bcp "test.dbo.menbers" out "e:/工具/test.xls" -c -q -U"sa" -P""'

NULL
开始复制...
NULL
已复制了 1 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共      1
NULL

(所影响的行数为 7 行)

/*注意:

'bcp' 不是内部或外部命令,也不是可运行的程序?

看看在C:/Program Files/Microsoft SQL Server/80/Tools/Binn里面有没有bcp.exe这个文件
然后看看path里面加C:/Program Files/Microsoft SQL Server/80/Tools/Binn这个目录没有.

转邹健:

右键我的电脑--属性--高级--环境变量--在系统变量中找到path--编辑

在变量值的最后加上:

C:/Program Files/Microsoft SQL Server/80/Tools/BINN

'未能找到扩张存储过程 Master..xp_cmdshell ' 解决办法如下:

Use Master

A:程序代码开启cmdshell的SQL语句
    EXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 
B:判断存储扩展是否存在 
    Select count(*) from master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
    返回结果为1就OK
C:恢复xp_cmdshell  
    Exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from    master.dbo.sysobjects where xtype='X' and name='xp_cmdshell'
   返回结果为1就OK 
D:否则上传xplog7.0.dll
  Exec master.dbo.addextendedproc 'xp_cmdshell','C:/WinNt/System32/xplog70.dll'  

--测试:

EXEC master..xp_cmdshell 'bcp "SELECT * FROM 数据库..表 WHERE (字段 IN (SELECT 字段 FROM 数据库..表1 WHERE (字段 = ''600005'')))" queryout "d:/数据.xls" -c -q -S(local) -Usa -P密码'

--结果

NULL
开始复制...
NULL
已复制了 2 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共      1
NULL

(所影响的行数为 7 行)

*/

--本机测试通过





你可能感兴趣的:(数据导出Excle)