日期:2014-05-17  浏览次数:20957 次

asp中fso代码的问题
rs   =   Server.CreateObject( "ADODB.Recordset ")
      sql   = "   SELECT   BMain1.CompanyNo,B202Body.IndexID,B202Body.CA,B202Body.LA   From   B202Body   Inner       Join   (Select     CompanyNo,Id   From   BMain   where       BMain.TableType   = 'B202 'and   BMain.DateYear   = ' "&DateYear& " 'and   BMain.DateMonth   = ' "&DateMonth& " ')BMain1   On   BMain1.Id=B202Body.BMainId "
  set   rs=Conn.execute(sql)
dbname= "B202表格 "&Replace(Replace(now, ": ", "- "), "   ", "- ")& ".txt "
hpath= "tableback/ "&dbname& " "

Set   fso   =   CreateObject( "Scripting.FileSystemObject ")
Set   f   =   fso.CreateTextFile(Server.MapPath( "hpath "))
do   while   not   rs.eof
  f.writeline     rs(0)
    rs.movenext
    loop
    set       fso=nothing      
    set       f=nothing  
代码的目的是从B202Body,Bmain2个表中联合查询出其中4个字段的数据,再通过FSO在WWWROOT下的TABLEBACK文件夹中创建存储上述数据的TXT文档。该TXT文档由当前的年月进行命名,见dbname。
在asp中编译后出现
Set   f   =   fso.CreateTextFile(Server.MapPath( "hpath "))该语句处出错
出错的提示为没有权限。
调试的环境为iis+asp+winxp.
iis中匿名访问已经设定。
求高手指点。


------解决方案--------------------
tableback目录分配Everyone读写权限
------解决方案--------------------
首先把要建文件的目录设为可以读写的权限;然后再看路径是否正确,如果路径中有一个文件夹是不存在的,那么在建文件时也不会成功。