日期:2014-05-17  浏览次数:20681 次

关于sql语句导出excel遇到的问题。。。求解决。。。谢谢
根据网上查找的资料,
SQL code

EXEC master..xp_cmdshell 'bcp "SELECT mx_bianhao,mx_mingzi,mx_yinhangzhanghao,mx_banktype FROM new_mmtDB.dbo.tbl_mingxi" queryout D:\authors.xls -c -S"." -U"sa" -P"sasa"'



是这样根据sql语句导出为excel的,
我运行之后报错,
SQL code

“消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行
SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器". 


百度了下,按照别人的帖子看到解决办法
SQL code

EXEC sp_configure N'show advanced options', N'1' 
RECONFIGURE WITH OVERRIDE
EXEC sp_configure N'xp_cmdshell', N'1'
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure N'show advanced options', N'0' 
RECONFIGURE WITH OVERRIDE



我运行了上面这段代码。

配置选项 'show advanced options' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 'xp_cmdshell' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 'show advanced options' 已从 1 更改为 0。请运行 RECONFIGURE 语句进行安装。

最后在在运行了我导出EXCEL的语句,还有有问题。
消息 15121,级别 16,状态 21,过程 xp_cmdshell,第 1 行
在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。


网上查,说是权限问题,但是试了很多,还是错,求大神们帮帮忙。。急。。。。在线等


------解决方案--------------------
错误代码: '5 ' 好像是没有权限 的意思。
看了一下 cmd.exe 这个文件的NTFS权限,
确实是不是设置成了拒绝运行SQL那个账号
------解决方案--------------------
希望对你有帮助
http://social.microsoft.com/Forums/it-IT/sqlserverzhchs/thread/3af8c8ec-3f2e-4281-a510-b7e6e808dd68
------解决方案--------------------
执行的用户是不是sa或system用户,若是把你的excel文件的目录换一下,不要直接放在跟目录下。且目录需存在。
------解决方案--------------------
http://www.5iadmin.com/post/719.html
------解决方案--------------------
http://blog.csdn.net/ws_hgo/article/details/5518918
------解决方案--------------------
应该是提示你没有在D盘下创建文件的的权限
可以尝试用有权限的WINDOWS用户

在你的 本地 D盘下 先 创建 authors.xls 文件
然后再执行