0

我们的 Intranet 上有一个简单的文件浏览器,使用 ASP/vbscript 构建。这些文件由脚本读取并添加到 ADO 记录集(未连接到数据库),因此我们可以轻松地对内容进行排序:

        Set oFolderContents = oFolder.Files
        Set rsf = Server.CreateObject("ADODB.Recordset")
        rsf.Fields.Append "name", adVarChar, 255
        rsf.Fields.Append "size", adInteger
        rsf.Fields.Append "date", adDate
        rsf.Fields.Append "type", adVarChar, 255
        rsf.Open

        For Each oFile In oFolderContents
            if not left(oFile.Name, 3) = "Dfs" then 'Filter DFS folders
                rsf.AddNew
                rsf.Fields("name").Value = oFile.Name
                rsf.Fields("size").Value = oFile.Size
                rsf.Fields("date").Value = oFile.DateCreated
                rsf.Fields("type").Value = oFile.Type
            end if
        Next

在一个特定文件夹中,我们收到一个错误:

Microsoft Cursor Engine error '80040e21'
Multiple-step operation generated errors. Check each status value.

这指向线

rsf.Fields("name").Value = oFile.Name

在上面的代码中。

我最初认为这是由长文件名引起的,但我检查了目录中所有文件的长度 - 虽然有些很长,但都在上面设置的 255 个字符的限制之下(最大的是 198 个字符长)。

有问题的文件夹中有近 2000 个 PDF,我无权更改内容,只是阅读(这是一个技术库)。这些文件的命名约定为“ID# - 论文标题”。有些具有特殊字符,例如 '、& 和 ( 或 ) - 其中一些是否会导致问题?我不记得以前有过这样的问题。我尝试在 Google 中搜索 ADO 中的特殊字符,但找不到任何似乎相关的内容。

谢谢 :-)

4

1 回答 1

2

您是否尝试过使用 adVarWChar 作为名称列?

于 2009-02-11T11:31:54.757 回答