Access メルアドの字数50字から100字へのプロパティ変更
  • (2012-08-22 11:04:58)


メルアドの字数制限



「おてがる通販」(旧)の最初にメールを取り込むテーブル(「05受信メールデータ」「07メール履歴データ」など)では、メールアドレスの字数を100字でフィールドが切られているが、解析後の格納テーブル「01受信データ」「03顧客情報データ」では、メールアドレスの字数を50字以内に設定されている(これははるか以前、自分で設定した可能性がある)。

それで、半角50字以上のメールアドレスがくるとエラーとなって全体が落ちるトラブルが発生する。

100字以上なら、取り込みもダメで、50字以上100字以下なら、取り込みOKで、解析でエラーとなると推測される。

このエラーは以前からメールアドレスの字数制限に起因することはわかっていたが、フィールドサイズを変更するとAccessが肥大化することは懸念されるため今まで無視してきた。

そもそも50バイトを超えるメルアドの人など千人に一人もいないので、それほど問題は表面化しない。

本日、このトラブルでついにサイズ変更を実施。

「01受信データ」「03顧客情報データ」のメールアドレス50字 → 100字

Accessテーブル プロパティ変更のエラー



メルアドのフィールド字数を50 → 100で「ディスクの空き領域またはメモリが不足しています」となってエラー。

検索するとレジストリで「maxlocksperfile」サイズを上げよという教えが。意味不明ながら「9500」 → 「20,000」にしてみた。 → OK

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet4.0

肥大化しなかったフィールドのサイズ変更



メルアドのフィールドは4カ所程度。30万件以上のレコードに適応された。

全部変更して50MBくらい大きくなった。

しかし、最適化をかけるともとに戻った。つまり、データベースの肥大化は発生しなかった。

理論的に正しいのかな?予想外だった。早くやればよかった。






<< 写真を添付できるフォームメールclipmail< | >システムディスクのSSD化でPC高速化 >>
search
layout
admin

[▲page top]