最近はデータといえばデータベース、場合によってはXMLであるためか、テキストファイルの扱いを知らないプログラマも居た。時代なんだろうか。




さてさて、あるシステムのログが一日に2ギガ!も溜まる。秀丸エディタで最大の1000万行を指定しても開かないので、VBAで適当に分割してやろうか、とテキストを読み込んでは分ける処理を書いた。




 




実行すると・・・ Openで止ったまま反応がない。10分くらい放置してもそのまま。




どうやらVBAでは、Open命令の際にすべて内容を読み込む操作をしているようで、処理が進まない。もっと待てば良かったのかも知れないが、ちょっと・・。




 




こういう処理は別の言語で作った方がよいようである。


 


> 2009.03.30 追記


もしかすると、Linux上のログをバイナリで転送し、改行コードがLFだけだったからかもしれません。


近く結論を書くべく追記予定です。


 




 




 




 



SOHOと題したが、法人として仕事していない法律事務所や医院、更に小さい会社でもいいと思う。私の体験からであるので、一例だと思っていただきたい。

■ 1台ならそれ、複数台ならサーバーとして使うもの、という位置づけである。よってデスクトップである。

 

◆筐体

既製品でも構わないが、内部が狭苦しいものは避ける。HDDの追加や交換をしやすく、積み込む場所も確保されていることは必ず確認すること。

 

◆電源

電源容量も充分に欲しいが、結構気になるのが音の大きさだ。 なるだけ静かなものを選びたい。

 

◆マザーボード

マザーボードにRAIDコントローラー、それもRAID 0 以外のものをサポートしているものを選ぶ。

RAIDコントローラーはカードでもあるが、マザーボードレベルで対応している方がボードとの相性問題の心配もいらないし、何よりポートを使う必要がないのがいい。

ちなみに個人的にはRAID 1 が好みである。

 

◆パーティション

パーティションは次のように分ける。

Cドライブ OS用

Dドライブ アプリケーション用

Eドライブ データ用

このうち、最低限 E ドライブはRAIDの対象とする。もしRAIDを構築できないなら、Eドライブとは別の物理HDDでFドライブを設け、そこにバックアップを取るべきだろう。

OSやアプリケーションは再インストールで戻せるが、データは自分で守るしかない。ちなみに、私は過去にあるメーカーのHDDを4台購入し、4台とも1年くらいで故障してしまった経験を持っている。最近では評判はいいらしいのだが、怖くてそのメーカーのHDDは購入できずにいる。

 

◆バックアップ体制

できれば別のPC(常時電源ON)でバックアップを取るのがいい。バックアップはそれほど難しいものではなく、利用しているPCの電源ON時にバックアップ処理が走るように仕組んでおけばよい。

バックアップ先はNASではなく、古いPCで全く問題ない。最近流行のLinuxを選択しても良いが、Linuxはファイルシステムが弱いらしく、同じような稼働をさせるとWindowsやSoralisなんかより先にHDDが壊れてしまう傾向にあるそうだ。万一のとき、Linux系はファイルシステムの種類が多いために、復旧が面倒くさいので、無難にWindowsを選んだ方が良いだろう。勿論、Macなら同じMacOS(バージョンでかなり変わってしまったとは聞くので、互換のあるバージョンのもの)を利用しよう。

 

非常に私見に偏っているかとは思うが。

 

 

ブログを通してVBAの相談が来たのだが、ファイルはxlsx形式。「保存するときに過去バージョンにして」とメールを書こうとして気がついたのが「拡張子がxlsxでもExcelっぽいアイコンが出てるぞ?」ということ。調子にのって開いてみると、「Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パック」というもののおかげらしい。

http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyId=941b3470-3ae9-4aee-8f43-c6bb74cd1466

これで2007の形式を開いて、VBAを実行したり修正することができた。こういう書き方は申し訳ないが、Office 2007 がそれほど浸透していない証拠だろう。