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是连接数据库的密码
改完后再次执行可以正常导出数据。