Question

Nous avons un simple navigateur de fichiers sur notre intranet, construit en utilisant ASP / vbscript. Les fichiers sont lus par le script et ajouté à un jeu d'enregistrements ADO (non connecté à une base de données), afin que nous puissions trier le contenu facilement:

        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

Dans un dossier particulier, nous obtenons une erreur:

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

Cette pointe vers la ligne

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

dans le code ci-dessus.

Ma première pensée cela a été causé par un nom de fichier long, mais j'ai vérifié la longueur de tous les fichiers dans le répertoire - bien que certains sont assez longs, tous sont sous la limite de 255 caractères fixé ci-dessus (le plus grand est de 198 caractères) .

Le dossier en question a près de 2000 fichiers PDF en elle, et je ne dispose pas des autorisations pour modifier le contenu, vient de lire (c'est une bibliothèque technique). Les fichiers ont une convention de nommage de « ID # - Titre du papier ». Certains ont des caractères spéciaux tels que », &, et (ou) - certains d'entre eux pourrait être la cause du problème? Je ne me souviens pas d'avoir un tel problème avant. J'ai essayé une recherche Google pour les caractères spéciaux dans ADO, mais ne pouvait pas trouver quelque chose qui semblait pertinent.

Merci: -)

Était-ce utile?

La solution

Avez-vous essayé d'utiliser adVarWChar pour la colonne de nom?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top