クラシックASPからCSVをエクスポートしようとしています。データはOracle DBによってフェッチされています。クエリは2500行以上を返します。ここに私が使用しようとしているコードはあります:クラシックASPを使用してCSVをエクスポート
<%
sub Write_CSV_From_Recordset(RS)
if RS.EOF then
'
' There is no data to be written
'
exit sub
end if
dim RX
set RX = new RegExp
RX.Pattern = "\r|\n|,|"""
dim i
dim Field
dim Separator
'
' Writing the header row (header row contains field names)
'
Separator = ""
for i = 0 to RS.Fields.Count - 1
Field = RS.Fields(i).Name
if RX.Test(Field) then
'
' According to recommendations:
' - Fields that contain CR/LF, Comma or Double-quote should be enclosed in double-quotes
' - Double-quote itself must be escaped by preceeding with another double-quote
'
Field = """" & Replace(Field, """", """""") & """"
end if
Response.Write Separator & Field
Separator = ","
next
Response.Write vbNewLine
'
' Writing the data rows
'
do until RS.EOF
Separator = ""
for i = 0 to RS.Fields.Count - 1
'
' Note the concatenation with empty string below
' This assures that NULL values are converted to empty string
'
Field = RS.Fields(i).Value & ""
if RX.Test(Field) then
Field = """" & Replace(Field, """", """""") & """"
end if
Response.Write Separator & Field
Separator = ","
next
Response.Write vbNewLine
RS.MoveNext
loop
end sub
Response.Buffer = True
Response.ContentType = "text/csv"
Response.AddHeader "Content-Disposition", "attachment; filename=Export.csv"
theSQL = Session("Query")
Set RS = Connection.Execute(theSQL)
Write_CSV_From_Recordset RS
%>
<html>
<head>
<title>Excel/CSV Export</title>
</head>
<body>
</body>
</html>
しかし、私はすべてのサイト到達不能エラーです。私はページにデータを表示しようとして、エクステンションを変更してコンテンツタイプとファイル拡張子を変えてみました。これは少ない行数で機能します。しかし、クエリによって取得されるレコードの数が多い場合、サイトに到達できないというエラーが発生します。
誰でもこの問題の解決に手伝ってもらえますか?
こんにちは、私はそれを試してみて、あなたが知っているだろう結果。ありがとう。 –
こんにちは私は以下のエラーを受けました このサイトにアクセスすることはできません http://dev.web.com/ExcelExport.aspのウェブページは一時的にダウンしているか、新しいウェブアドレスに永久に移動している可能性があります。 ERR_INVALID_RESPONSE サーバーはWindows 2003マシンです –
ページの先頭にServer.ScriptTimeout = 6000を追加しました。 –