--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 行)
*/
--本机测试通过