在'@EName'附近有语法错误.

78hgdong 2005-05-09 09:45:37
CREATE PROCEDURE PROCBLtoExcel
@Name varchar(250)
AS
declare @Excel varchar(4000)
declare @EName varchar(1000)

set @EName=N'Microsoft.Jet.OLEDB.4.0'
set @Excel=N'Data Source="D:\Excel2005\'+@Name+N'";User ID=Admin;Password=;Extended properties=Excel5.0;Persist Security Info=false'
select * into #temp2 from OpenDataSource(@EName,@Excel)...[sheet1$] // 提示:在'@EName'附近有语法错误.
不明为何!各位帮帮!TKS!

...全文
94 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Navywang917 2005-05-10
  • 打赏
  • 举报
回复
select * into #temp2 from OpenDataSource(@EName,@Excel)...[sheet1$]
这里没用到参数!
改为exec('@sql=N'select * into #temp2 from OpenDataSource('''+@EName+''','''+@Excel+''')...[sheet1$]'')
78hgdong 2005-05-10
  • 打赏
  • 举报
回复
请问怎么查询#temp2 的返回值了????
ghostzxp 2005-05-09
  • 打赏
  • 举报
回复
CREATE PROCEDURE PROCBLtoExcel
@Name varchar(250)
AS
declare @Excel varchar(4000)
declare @EName varchar(1000)
declare @sql varchar(1000)

set @EName=N'Microsoft.Jet.OLEDB.4.0'
set @Excel=N'Data Source="D:\Excel2005\'+@Name+N'";User ID=Admin;Password=;Extended properties=Excel5.0;Persist Security Info=false'
set @sql=N'select * into #temp2 from OpenDataSource('+@EName+','+@Excel+')...[sheet1$]'
exec sp_executesql @sql
78hgdong 2005-05-09
  • 打赏
  • 举报
回复
select * into #temp2 from OpenDataSource(@EName,@Excel)...[sheet1$]

// 就是上面这句提示:在'@EName'附近有语法错误.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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