Ci sono limitato personaggi in ADO VARCHAR?
-
22-08-2019 - |
Domanda
Abbiamo un semplice browser file sul nostro intranet, costruita utilizzando ASP / VBScript. I file vengono letti dallo script e aggiunto a un recordset ADO (non collegato a un database), in modo che possiamo ordinare con facilità i contenuti:
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 una particolare cartella stiamo ottenendo un errore:
Microsoft Cursor Engine error '80040e21'
Multiple-step operation generated errors. Check each status value.
Ciò sottolinea la riga
rsf.Fields("name").Value = oFile.Name
nel codice precedente.
Il mio pensiero iniziale questo è stato causato da un nome di file lungo, ma ho controllato la lunghezza di tutti i file nella directory - anche se alcune sono piuttosto lunghi, tutti sono sotto il limite di 255 caratteri impostata sopra (più grande è lungo 198 caratteri) .
La cartella in questione ha quasi 2000 file PDF in esso, e non dispone delle autorizzazioni per modificare il contenuto, basta leggere (si tratta di una biblioteca tecnica). I file hanno una convenzione di denominazione di "ID # - Carta titolo". Alcuni hanno caratteri speciali come', e, e (o) - potrebbe alcuni di questi essere la causa del problema? Non mi ricordo di avere un problema del genere prima d'ora. Ho provato a cercare su Google per i caratteri speciali in ADO, ma non ho trovato nulla che sembrava rilevante.
Grazie: -)
Soluzione
Hai provato a utilizzare adVarWChar per la colonna nome?