0

イントラネットには、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 の特殊文字を検索してみましたが、関連するものは見つかりませんでした。

ありがとう :-)

4

1 に答える 1

2

名前列に adVarWChar を使用してみましたか?

于 2009-02-11T11:31:54.757 に答える