sql server 2008导出excel功能报错


sql server 2008导出excel功能报错,情况是这样的,我的sql server2005存储过程迁移到sql server2008以后不能执行报错如下:

SQLState = S0002, NativeError = 208
Error = [Microsoft][SQL Native Client][SQL Server]对象名 'xuanshu3.dbo.wangjingfeng' 无效。
SQLState = 37000, NativeError = 8180
Error = [Microsoft][SQL Native Client][SQL Server]无法预定义语句。
NULL

sql server2005上面可以正常执行,谷歌了一下找到解决办法,方法如下:在导出命令内加入-S -U -P参数

set @varSQLTemp = 'bcp "'+ @varSQL +'" queryout '+ (@varExcelPath+'data1') + ' -a4096 -c -q  -t"`" -T'

修改为:

set @varSQLTemp = 'bcp "'+ @varSQL +'" queryout '+ (@varExcelPath+'data1') + ' -a4096 -c -q -S"test\test" -U"sa" -P"123" -t"`" -T'

其中-S test/test 是服务器名和数据库实例名

-U 是连接数据库的用户名

-P是连接数据库的密码

改完后再次执行可以正常导出数据。

QQ截图20151111174614


Whatever is worth doing is worth doing well.