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: -)

Foi útil?

Solução

Você já tentou usar adVarWChar para a coluna nome?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top