请问如何设计dts使能够导入excel时能动态接受文件名
要在delphi6中开发,想使用dts,因为使用openrowset不能异地导入
------解决方案--------------------把远程文件名换成网络路径名试试,例如:   
 当使用远程服务器上的异源数据时,必须使用异源数据的网络路径,即: 
 \\网络名\共享名\文件名 
 以EXECL为例: 
 假设IP地址为192.168.16.166的远程客户端的D盘的test文件夹下有一个EXECL文件Books1.xls, 
 本机IP地址为192.168.16.2,要读取该远程Books1.xls文件到本机的SQLSERVER中,则可 
 这样做: 
 第一步:将192.168.16.166远程客户端的D:\test文件夹设置为共享,共享名为test; 
 第二步:修改192.168.16.166远程客户端的WINDOWS防火墙设置,在 <例外> 中允许 <文件和打印机共享> ; 
 第三步:设置网络文件路径:   
 方法1:右键点击我的电脑-> 映射网络驱动器,假设网络驱动器为Z,映射路径为该远程客户端 
 的D:\test文件夹,然后这样进行查询: 
 SELECT *  FROM OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0 ', 
  'Data Source=z:\book1.xls;Extended Properties=Excel 8.0 ')...[Sheet1$] 
 动态SQL: 
 declare @sql varchar(1000),@NetPathFile varchar(100) 
 set @NetPathFile =  'z:\book1.xls ' 
 set @sql =  
  'SELECT *  FROM OPENDATASOURCE( ' 'Microsoft.Jet.OLEDB.4.0 ' ', 
  ' 'Data Source= ' + @NetPathFile +  ';Extended Properties=Excel 8.0 ' ')...[Sheet1$] ' 
 EXEC(@sql)   
 方法2:直接使用计算机名或远程计算机的IP: 
 SELECT *  FROM OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0 ', 
  'Data Source=\\192.168.16.166\test\book1.xls;Extended Properties=Excel 8.0 ')...[Sheet1$] 
 动态SQL: 
 declare @sql varchar(1000),@NetPathFile varchar(100) 
 set @NetPathFile =  '\\192.168.16.166\test\book1.xls ' 
 set @sql =  
  'SELECT *  FROM OPENDATASOURCE( ' 'Microsoft.Jet.OLEDB.4.0 ' ', 
  ' 'Data Source= ' + @NetPathFile +  ';Extended Properties=Excel 8.0 ' ')...[Sheet1$] ' 
 EXEC(@sql)     
 以上在本机测试通过.测试环境: 
 简体中文WindowsServer2003sp1 + 简体中文SQLSERVER2000sp4 + 局域网