Gibt es eingeschränkte Zeichen in ADO Varchars?
-
22-08-2019 - |
Frage
Wir haben eine einfache Datei-Browser im Intranet, gebaut mit ASP / VBScript. Die Dateien werden durch das Skript gelesen und zu einem ADO-Cord (nicht mit einer Datenbank verbunden ist), so können wir den Inhalt sortieren leicht:
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
In einem bestimmten Ordner bekommen wir einen Fehler:
Microsoft Cursor Engine error '80040e21'
Multiple-step operation generated errors. Check each status value.
Dies weist auf die Zeile
rsf.Fields("name").Value = oFile.Name
in dem obigen Code.
Mein erster Gedanke dies durch einen langen Dateinamen verursacht wurde, aber ich überprüfte die Länge aller Dateien im Verzeichnis - obwohl einige ziemlich lang sind, sind alle unter dem Limit von 255 Buchstaben oben gesetzt (größte ist 198 Zeichen lang) .
Der Ordner, in Frage hat fast 2000 PDFs in ihnen, und ich habe keine Berechtigung, den Inhalt zu ändern, nur lesen (es ist eine technische Bibliothek). Die Dateien haben eine Namenskonvention von „ID # - Papier Titel“. Einige haben Sonderzeichen wie‘, & und (oder) - einige von ihnen könnte das Problem verursacht? Ich erinnere mich nicht, ein solches Problem mit vor. Ich habe versucht, Google-Suche nach Sonderzeichen in ADO, konnte aber nichts finden, die relevant zu sein schienen.
Danke: -)
Lösung
Haben Sie versucht AdVarWChar für den Namen Spalte?