ASP Создание текстового файла ObjFileSys.CreateTextFile

Я пытаюсь создать текстовый файл во временном каталоге...

Я не понимаю, что я делаю не так...

Моя ошибка:

Microsoft VBScript runtime error '800a004c'
Path not found
/racklabels/desktop/printLabel.asp, line 128

На моем сервере есть временный каталог, из которого я запускаю...

strFileNameQAD = "C:\temp\" & strFileNameRBB

'Create the files, write to them & close them.
If bBackFlush = True Then
    Set filQAD = objFileSys.CreateTextFile(strFileNameQAD)
    filQAD.WriteLine ("H::" & strPart & strLocation & strSite & strQty & strSerial & strRef & strUserID & strAccount & strSubAccount & strCostCenter & strEffDate & strYes)
    filQAD.WriteLine ("D::" & strFromLocation & strNo & strUserID)
    filQAD.Close
    Set filQAD = Nothing
End If

person Kyle Rickaby    schedule 01.10.2014    source источник
comment
Интересный вопрос asp-classic, помеченный asp.net вносит изменения. Итак, вы знаете для дальнейшего использования asp-classic и asp.net — это не одно и то же. Ваш вопрос касается asp-classic.   -  person user692942    schedule 01.10.2014
comment
Какая строка line 128 в вашем фрагменте кода?   -  person user692942    schedule 01.10.2014
comment
Спасибо за разъяснение, я не был уверен... Строка 128: Set filQAD = objFileSys.CreateTextFile(strFileNameQAD)   -  person Kyle Rickaby    schedule 01.10.2014
comment
@Lankymart - пришлось проголосовать за этот комментарий! ;о)   -  person Paul    schedule 01.10.2014


Ответы (1)


FileSystemObject жалуется на путь, содержащийся в strFileNameQAD, попробуйте поместить Response.Write strFileNameQAD : Response.Flush перед строкой нарушения, чтобы увидеть, что выводит strFileNameQAD.

Примечание. Response.Flush заставляет сервер записывать заголовки ответов и буфер, поэтому даже в случае ошибок сценария выходные данные будут отображаться первыми.

strFileNameQAD = "C:\temp\" & strFileNameRBB

'Create the files, write to them & close them.
If bBackFlush = True Then
    'Output strFileNameQAD variable to check content
    Response.Write strFileNameQAD : Response.Flush
    Set filQAD = objFileSys.CreateTextFile(strFileNameQAD)
    filQAD.WriteLine ("H::" & strPart & strLocation & strSite & strQty & strSerial & strRef & strUserID & strAccount & strSubAccount & strCostCenter & strEffDate & strYes)
    filQAD.WriteLine ("D::" & strFromLocation & strNo & strUserID)
    filQAD.Close
    Set filQAD = Nothing
End If

Содержит ли переменная strFileNameQAD ожидаемый путь? Я предполагаю, что strFileNameRBB пуст, поэтому FileSystemObject видит C:\temp\, но не создает файла, отсюда и ошибка.

person user692942    schedule 01.10.2014
comment
Потрясающий! Вы правы, он был пуст! Спасибо, что поняли это, я потратил много времени, думая, что мой синтаксис неверен... Еще раз спасибо за разъяснение ранее! - person Kyle Rickaby; 01.10.2014
comment
@KyleRickaby Нет проблем, иногда ошибка заключается в раздаче. Например, если бы это была синтаксическая ошибка, я сомневаюсь, что она сообщила бы вам Path not found, это были бы более длинные строки Invalid Type Specified или Incorrect Syntax. Рад, что все в порядке. - person user692942; 01.10.2014