日期:2014-05-18  浏览次数:20748 次

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