Pregunta

Tenemos un explorador de archivos simple en nuestra intranet, construida utilizando ASP / VBScript. Los archivos son leídos por el guión y se añaden a un conjunto de registros ADO (no conectado a una base de datos), por lo que pueden ordenar el contenido fácilmente:

        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

En una carpeta en particular que estamos consiguiendo un error:

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

Esto apunta a la línea

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

en el código de seguridad.

Mi idea inicial esto fue causado por un nombre de archivo largo, pero he comprobado la longitud de todos los archivos en el directorio - aunque algunos son bastante larga, todos están bajo el límite de 255 caracteres, situado por encima (más grande es de 198 caracteres de longitud) .

La carpeta en cuestión cuenta con cerca de 2.000 archivos PDF en el mismo, y no tiene permisos para modificar los contenidos, acabo de leer (que es una biblioteca técnica). Los archivos tienen un convenio de denominación de "# ID - Título de la ponencia". Algunos tienen caracteres especiales como', y, y (o) - podrían ser algunos de ellos causando el problema? No recuerdo haber tenido un problema antes. He intentado buscar en Google de caracteres especiales en ADO, pero no pude encontrar nada que parecía relevante.

Gracias: -)

¿Fue útil?

Solución

¿Ha intentado utilizar adVarWChar para la columna de nombre?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top