1

私はネット上で見つけたこのコードを使用してExcelファイルを読んでいます:

<% Option Explicit %>
<html>
<body>
<%
Dim objConn, objRS, strSQL
Dim x, curValue
Dim valuesArray()

strSQL = "SELECT * FROM A1:A200"

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; "&_
    "Excel 8.0; DBQ=" & Server.MapPath("myExcel.xls") & "; "

Set objRS=objConn.Execute(strSQL)

Response.Write("<table border=""1"">")
Response.Write("<tr>")

For x=0 To objRS.Fields.Count-1
   Response.Write("<th>" & objRS.Fields(x).Name & "</th>")
Next

Response.Write("</tr>")

Do Until objRS.EOF

    Response.Write("<tr>")

    For x=0 To objRS.Fields.Count-1
        curValue = objRS.Fields(x).Value
        If IsNull(curValue) Then
            curValue="N/A"
        End If
        curValue = CStr(curValue)
        valuesArray(x) = curValue
        Response.Write("<td>" & valuesArray(x) & "</td>")
    Next
    Response.Write("</tr>")
    objRS.MoveNext

Loop

objRS.Close
Response.Write("</table>")
objConn.Close

Set objRS=Nothing
Set objConn=Nothing
%>
</body>
</html>

ページに最初にアクセスすると、Excelファイルが正しく読み取られます。しかし、ページを更新すると、次のエラーが発生します。

プロバイダーエラー「80004005」

不特定のエラー

何がこれを引き起こしているのか、どうすれば修正できますか?

4

1 に答える 1

0

ほとんどの場合、このエラーは更新が速すぎることが原因です。10秒ほど待つとしたら、そのエラーは発生しないはずです。ASP / ADOアプリケーションはマルチユーザーアクセスをサポートしていますが、Excelスプレッドシートはサポートしていません。したがって、情報を照会および更新するこの方法は、マルチユーザー同時アクセスをサポートしていません。

http://support.microsoft.com/kb/q195951/を参照してください

于 2012-06-26T15:12:56.947 に答える