这个字符串在SQL SERVER2000 的存储过程中怎么写
insert   into   Memorabilia   select   @danweibh   as   JuniorNum,Number,Mcaption,Mname,Maddress,Mtime,Mcontent,Remark   from   OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ', 'data   source= "E:\教育工会二期数据库资料\send2007061301010001.mdb ";User   ID=Admin;Password= ')...Memorabilia   
 问题: 
 在存储过程中定义变量@path   varchar(50)/*用来存放文件(数据库文件)的路径*/ 
 @dbasename   varchar(30)/*数据库的名字*/.@pwd   varchar(200)   set   @pwd= 'User   ID=Admin;Password= ' 
 也就是将OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ', 'data   source= "E:\教育工会二期数据库资料\send2007061301010001.mdb ";User   ID=Admin;Password= ')分割 
 因为我要接受N个单位的数据。所以要循环给出数据。还有就是数据库表名是不是不能用变量传,我记得是这样的:参数只能代替常量,而不能用于代替表名、列名或其它数据库对象的名称。但是我目前的功能需求是数据库和表名都得循环给出。如何能实现?
------解决方案--------------------declare @path varchar(50),@dbasename varchar(30),@pwd varchar(200) 
 set @path =  'E:\教育工会二期数据库资料\ ' 
 set @dbasename =  'send2007061301010001.mdb ' 
 set @pwd= 'User ID=Admin;Password= ' 
 declare @sql varchar(8000) 
 set @sql =  'insert into Memorabilia  
 select @danweibh as JuniorNum,Number,Mcaption,Mname,Maddress,Mtime,Mcontent,Remark from  
 OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'data source= " ' + @path + @dbasename +  ' "; ' + @pwd +  ' ' ') ' 
 print @sql 
 EXEC(@sql)   
 /*@sql内容 
 insert into Memorabilia  
 select @danweibh as JuniorNum,Number,Mcaption,Mname,Maddress,Mtime,Mcontent,Remark from  
 OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ', 'data source= "E:\教育工会二期数据库资料\send2007061301010001.mdb ";User ID=Admin;Password= ') 
 */
------解决方案--------------------可以这样:   
 declare @path varchar(50)/*用来存放文件(数据库文件)的路径*/ 
 declare @dbasename varchar(30)/*数据库的名字*/ 
 declare @pwd varchar(200)    
 set @path= 'E:\教育工会二期数据库资料\ ' 
 set @dbasename= 'send2007061301010001.mdb ' 
 set @pwd= 'User ID=Admin;Password= '   
 declare @sql nvarchar(4000) 
 set @sql=N 'insert into Memorabilia select @danweibh as JuniorNum,Number,Mcaption,Mname,Maddress,Mtime,Mcontent,Remark from OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'data source= " '+@Path+@dbasename+ ' "; '+@pwd+ ' ' ')...Memorabilia '   
 exec sp_executesql @sql,N '@danweibh numeric(10,2)  ',@danweibh