イントラネットには、ASP/vbscript を使用して構築された単純なファイル ブラウザーがあります。ファイルはスクリプトによって読み取られ、(データベースに接続されていない) ADO レコードセットに追加されるため、コンテンツを簡単に並べ替えることができます。
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
ある特定のフォルダーでエラーが発生しています。
Microsoft Cursor Engine error '80040e21'
Multiple-step operation generated errors. Check each status value.
これは行を指します
rsf.Fields("name").Value = oFile.Name
上記のコードで。
これは長いファイル名が原因だと最初は考えていましたが、ディレクトリ内のすべてのファイルの長さを確認しました。かなり長いものもありましたが、すべて上記の 255 文字の制限を下回っていました (最大は 198 文字です)。
問題のフォルダーには 2000 近くの PDF が含まれており、内容を変更する権限がなく、読むだけです (テクニカル ライブラリです)。ファイルには、「ID# - 論文タイトル」という命名規則があります。一部には、'、&、(または) などの特殊文字が含まれています。これらの一部が問題を引き起こしている可能性はありますか? 以前にそのような問題があったことを覚えていません。Google で ADO の特殊文字を検索してみましたが、関連するものは見つかりませんでした。
ありがとう :-)