Экспорт данных базы данных в CSV в классическом ASP - PullRequest
0 голосов
/ 03 июля 2019

В моей базе данных Microsoft SQL Server есть таблица tbl_order, и мне нужно экспортировать некоторые поля в файле .csv, расположенном в папке, которой я уже предоставил разрешение на запись.

Я написал код, который, на мой взгляд, выглядит нормально, но приводит к ошибке тайм-аута, даже если экспортируемых строк на данный момент всего две.

Я бы хотел знать, где я ошибаюсь, поскольку сценарий очень прост, и я, должно быть, делаю что-то очень неправильное.

Set objRS2 = Server.CreateObject("Scripting.FileSystemObject")
Set ctf = objRS2.CreateTextFile(Server.MapPath("../order/test.csv"), 2)
sql2 = "SELECT agent, dealer, data FROM tbl_order where active = 'True'"
objRS2.Open sql2, ConString
If Not objRS2.EOF Then
ctf.WriteLine("agent,dealer,data")
While Not objRS2.EOF   
ctf.WriteLine(""""&(rset1.Fields("agent").Value)&""" ,"""&(rset1.Fields("dealer").Value)&""","""&(rset1.Fields("data").Value)&"""")
objRS2.MoveNext
Wend
End If
ctf.Close
ClearRS(objRS2)

1 Ответ

3 голосов
/ 03 июля 2019

Вы называете объект файловой системы objRS2 и пытаетесь использовать его в качестве набора записей базы данных. Я бы назвал что-то вроде objFSO, чтобы было ясно, что это объект файловой системы, а не набор записей.

Вам потребуется создать набор записей, используя другое имя (например, rs). Вы можете создать набор записей базы данных примерно так, прежде чем использовать его:

set rs = Server.CreateObject("ADODB.recordset")

...