¿Hay restringido caracteres en ADO varchars?
-
22-08-2019 - |
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: -)
Solución
¿Ha intentado utilizar adVarWChar para la columna de nombre?