SQL生成.xls文件请教!

Vicious_Tipper 2012-05-14 10:15:25
出错的代码如下:
Declare @ChartName varchar(128)
Declare @Tagname varchar(64)
Declare @Query nvarchar(3000)
Declare @filename varchar

Declare cursor_Query cursor For Select [Chart Name] from GCS

Open cursor_Query
fetch next from cursor_Query into @ChartName
while @@fetch_status = 0
Begin
select @filename = @Chartname

select @Query = 'bcp "select * from dbo.spc_ChartDataYear where ChartName = @ChartName order by DataTmst " queryout E:\GCSData\'+ @ChartName +'.xls -c -S"c01q57" -U"Tanadm" -P"Whisper01"'

系统提示:
SQLState = 37000, NativeError = 137
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]必须声明变量 '@ChartName'。
SQLState = 37000, NativeError = 8180
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]未能准备语句。

这里我使用了游标,其实我是有声明了变量ChartName的,如果我把“where ChartName = @ChartName ”这个条件拿掉,运行就没有问题,现在请教一下如何解决这个问题?非常感谢!
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
迪迦凹凸曼 2012-05-14
  • 打赏
  • 举报
回复

select @Query = 'bcp "select * from dbo.spc_ChartDataYear where ChartName = '+@ChartName+' order by DataTmst " queryout E:\GCSData\'+ @ChartName +'.xls -c -S"c01q57" -U"Tanadm" -P"Whisper01"'
Vicious_Tipper 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
@ChartName 表名为变量的话 应该用动态语句。
[/Quote]

如何使用?能否较详细的说明一下?感谢!
--小F-- 2012-05-14
  • 打赏
  • 举报
回复
@ChartName 表名为变量的话 应该用动态语句。
Vicious_Tipper 2012-05-14
  • 打赏
  • 举报
回复
没人来回答吗?...达人们乱入啊
Vicious_Tipper 2012-05-14
  • 打赏
  • 举报
回复
自己顶一记!
MRKDTOPONE 2012-05-14
  • 打赏
  • 举报
回复
请参考 动态字符串 参数带入的标准,语法问题

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧