Há restrito caracteres no ADO VARCHAR?
-
22-08-2019 - |
Pergunta
Nós temos um navegador de arquivos simples em nossa intranet, construído usando ASP / VBScript. Os arquivos são lidos pelo script e adicionado a um conjunto de registos ADO (não conectado a um banco de dados), para que possamos classificar o conteúdo facilmente:
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
Em uma pasta específica que estamos recebendo um erro:
Microsoft Cursor Engine error '80040e21'
Multiple-step operation generated errors. Check each status value.
Isto aponta para a linha
rsf.Fields("name").Value = oFile.Name
no código acima.
Meu pensamento inicial isso foi causado por um nome de arquivo longo, mas eu verifiquei o comprimento de todos os arquivos no diretório - embora alguns são bastante longo, todos estão sob o conjunto limite de 255 caracteres acima (o maior é de 198 caracteres) .
A pasta em questão tem quase 2000 PDFs nele, e eu não ter permissões para alterar o conteúdo, basta ler (é uma biblioteca técnica). Os arquivos têm uma convenção de nomenclatura de "ID # - Paper Title". Alguns têm caracteres especiais, como', &, e (ou) - poderiam alguns deles estar causando o problema? Não me lembro de ter esse problema um antes. Eu tentei pesquisar no Google por caracteres especiais em ADO, mas não consegui encontrar nada que pareceu relevante.
Graças: -)
Solução
Você já tentou usar adVarWChar para a coluna nome?