首页 > 解决方案 > 在经典asp中将数据库数据导出到csv

问题描述

tbl_order在我的 Microsoft SQL Server 数据库中有一个表,我需要导出一个 .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)

标签: sql-serverasp-classicexportexport-to-csvfilesystemobject

解决方案


您正在命名文件系统对象objRS2并尝试将其用作数据库记录集。我将它命名objFSO为明确它是一个文件系统对象而不是一个记录集。

您将需要使用不同的名称(例如rs)创建记录集。您可以在使用它之前创建类似这样的数据库记录集:

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


推荐阅读