Excel导入SQL
小弟在使用OPENDATASOURCE将EXCEL数据导入到SQL2005时,遇到了个问题,语句如下:
declare @PATH Varchar(50),@FGRname varchar(50),@SAPname varchar(50),@FGRDir varchar(200),@SAPDir varchar(200),@FGRSQL varchar(200),@SAPSQL varchar(200)
select @PATH= 'D:\test\ ',@FGRname= 'FGRtest.xls ',@SAPname= 'SAPtest.xls '
select @FGRDir=@PATH+@FGRname,@SAPDir=@PATH+@SAPname
SELECT * into #FGR FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ', 'Data Source= " '+@FGRDir+ ' ";
User ID=Admin;Password=;Extended properties=Excel 8.0 ')...[sheet1$]
提示错误如下:
消息 102,级别 15,状态 1,第 27 行
'+ ' 附近有语法错误。
不知道错在什么地方,望各位大大指点下!谢谢!!
------解决方案--------------------2000是改成动态的,2005也应该可以:
declare @PATH Varchar(50),@FGRname varchar(50),@SAPname varchar(50),@FGRDir varchar(200),@SAPDir varchar(200),@FGRSQL varchar(200),@SAPSQL varchar(200)
select @PATH= 'D:\test\ ',@FGRname= 'FGRtest.xls ',@SAPname= 'SAPtest.xls '
select @FGRDir=@PATH+@FGRname,@SAPDir=@PATH+@SAPname
declare @sql varchar(1000)--开始修改
set @sql= 'SELECT * into #FGR FROM OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'Data Source= " '+@FGRDir+ ' ";
User ID=Admin;Password=;Extended properties=Excel 8.0 ' ')...[sheet1$] '
exec @sql