Solved

Permission Denied.

Posted on 2002-06-25
11
684 Views
Last Modified: 2007-12-19
Thank You in advance
I have a page that works just fine for me. Nobody else can get to it. They get Permission Denied. I have the exact same right on the folder the file is being written to. The line that it is crashing on is:

set file = fso.CreateTextFile(thePath, true)

Does CreateTextFile use some dll or something to that effect. My nt account is set up the exact same and I have the same rights(change) on the folder where I am trying to create the text file.
Thank You,
Kent
0
Comment
Question by:kmurphy7
11 Comments
 
LVL 18

Expert Comment

by:mgfranz
Comment Utility
Make sure the IUSER_ has Write permission on the folder the text file is writing to.
0
 
LVL 20

Expert Comment

by:jitganguly
Comment Utility
If
>>I have the exact same right on the folder the file is being written to

then my first guess would be thePath var with CreateTextFile.
Check the value of thePath, whetehr they have permission on to that folder.
thepath is in correct format etc.
Do a Response.write thePath and see the value
0
 
LVL 18

Expert Comment

by:mgfranz
Comment Utility
And of course, from MSDN;

Dim fso, MyFile
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
   MyFile.WriteLine("This is a test.")
   MyFile.Close
0
 

Author Comment

by:kmurphy7
Comment Utility
Sorry, I forgot to note that Basic is turned on and Anonymous is turned off. Here is the full code.


Dim IniFileDictionary
set IniFileDictionary = CreateObject("Scripting.Dictionary")

Sub IniFileLoad(ByVal FilSpc)
  Dim PhyPth
  Dim FilSys
  Dim IniFil
  Dim StrBuf
  Dim HdrBuf
  Dim StrPtr
  Dim AltBuf
  IniFileDictionary.RemoveAll
  FilSpc = lcase(FilSpc)
  if left(FilSpc, 1) = "p" then
    'Physical path
    PhyPth = mid(FilSpc, instr(FilSpc, "=") + 1)
  else
    'Virtual path
    PhyPth = Server.MapPath(mid(FilSpc, instr(FilSpc, "=") + 1))
  end if

  set FilSys = CreateObject("Scripting.FileSystemObject")
  set IniFil = FilSys.OpenTextFile(PhyPth, 1)
  do while not IniFil.AtEndOfStream
    StrBuf = IniFil.ReadLine
    if StrBuf <> "" then
      'There is data on this line
      if left(StrBuf, 1) <> ";" then
        'It's not a comment
        if left(StrBuf, 1) = "[" then
          'It's a section header
          HdrBuf = mid(StrBuf, 2, len(StrBuf) - 2)
        else
          'It's a value
          StrPtr = instr(StrBuf, "=")
          AltBuf = lcase(HdrBuf & "|" & left(StrBuf, StrPtr - 1))
          do while IniFileDictionary.Exists(AltBuf)
            AltBuf = AltBuf & "_"
          loop
          IniFileDictionary.Add AltBuf, mid(StrBuf, StrPtr + 1)
        end if
      end if
    end if
  loop
  IniFil.Close
  set IniFil = nothing
  set FilSys = nothing
End Sub

Function IniFileValue(ByVal ValSpc)
  dim ifarray
  Dim StrPtr
  Dim StrBuf
  StrPtr = instr(ValSpc, "|")
  ValSpc = lcase(ValSpc)
  if StrPtr = 0 then
    'They want the whole section
    StrBuf = ""
    StrPtr = len(ValSpc) + 1
    ValSpc = ValSpc + "|"
    ifarray = IniFileDictionary.Keys
    for i = 0 to IniFileDictionary.Count - 1
      if left(ifarray(i), StrPtr) = ValSpc then
        'This is from the section
        if StrBuf <> "" then
          StrBuf = StrBuf & "~"
        end if
        StrBuf = StrBuf & ifarray(i) & "=" & IniFileDictionary(ifarray(i))
      end if
    next
  else
    'They want a specific value
    StrBuf = IniFileDictionary(ValSpc)
  end if
  IniFileValue = StrBuf
End Function



call IniFileLoad("virtual=Common/expenseReport.ini")
thePath = IniFileValue("SaveErs|Path") & "include.txt"

set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.CreateTextFile(thePath, true)
file.WriteLine("Created on " & now)
file.Close


Thanks Again,
Kent
0
 
LVL 20

Expert Comment

by:jitganguly
Comment Utility
What does thePath returns ? Did you check that ?
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 18

Accepted Solution

by:
mgfranz earned 300 total points
Comment Utility
In VBScript, when you CreateObject, you must call out the Server property on the object;

set IniFileDictionary = Server.CreateObject("Scripting.Dictionary")

set FilSys = Server.CreateObject("Scripting.FileSystemObject")

Thats first.
0
 
LVL 18

Expert Comment

by:mgfranz
Comment Utility
Second of all, with Basic authentication, the logged in user must have Read/Write on the directory that the FSO is attempting to write to.
0
 
LVL 20

Expert Comment

by:Silvers5
Comment Utility
permissions indeed..
0
 
LVL 1

Expert Comment

by:lmred
Comment Utility
I had the same problem today. I resolved it by making sure the path was not a network path. Example instead of "\\server\foldername\file", I put "d:\foldername\file".


lmred
0
 
LVL 18

Expert Comment

by:mgfranz
Comment Utility
As I said...

Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
0
 
LVL 4

Expert Comment

by:Wakie
Comment Utility
It appears this question has been abandoned.

I will leave a recommendation in the Cleanup topic area that this question will be:

- Points to mgfranz -

Please leave any comments here within the next seven days.

DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Wakie,
EE Cleanup Volunteer.
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now