プロが教える店舗&オフィスのセキュリティ対策術

長文で申し訳ないのですが、かなり困っており、Microsoftにもインシデントを
発行して調査依頼しております。その部分を抜粋して掲載します。
何でもいいので何か教えて頂けると幸いです

<プログラム概要>
大量CSVデータ(複数ファイル合計約100MB)を配列に読み込み、その配列を使用してプログラムを
動作させるが、テキストデータ読み込み時に途中から急激に速度が低下する。

Win2kやWinXPマシンでは問題なく動作し、約数2分半で読み込み処理が終了するが、
Win98マシンでは読み込み処理が終了するまでに2時間半を要する。(Pen(4) 実メモリ256MB)

<プログラム詳細>

  ReDim gtypCDRコメント(30000)
  intFileNumber = FreeFile

' ***ファイルOPEN*****
Open CstrCsvPass & gstrファイルCD & CstrCDRコメント For Input As #intFileNumber
lngDataCnt = 0
Do While Not EOF(intFileNumber)
With gtypCDRコメント(lngDataCnt)
Input #intFileNumber, .gstr健診種別, .gstrセットコード, _
.gstr短文, .gstr略文, .gstr長文1, .gstr長文2, .gstr長文3
lngDataCnt = lngDataCnt + 1
End With
DoEvents
Loop
'***ファイル閉じる****
  Close #intFileNumbe

<質問内容>
上記現象は、大量データをメモリに格納するWin9×系OSとWinNT系OSの仕組みの違いに
よるものではないかと推測しているが、ユーザへの説明上、OSにより上記の動作が異なる
理由をご回答頂ければ幸いです。

また、VB5プログラムをWin9×系OS上にて動作させる際に、上記配列の宣言
方法では読み込みデータサイズの推奨上限値がどの位になるのか、また別の
メモリ格納方法であれば更に大きなサイズのデータをメモリに格納できるなど、
回避策は存在するのかご回答頂ければ幸いです。

A 回答 (1件)

このレベルになると、普通DBを使用するのが当然と思われます。



CSV等のテキストではどのようにやっても無理でしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

そうですよねぇ。。
でも、DBを使ってはいけないという仕様なんです。
いや、CDRより起動するシステムでディスクを使用
してはいけないという仕様なんです。

何度も無理だとは言っているんですが。

お礼日時:2003/10/20 23:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!