たまに掃除は必要!熱暴走…

イメージ
 そんなに暑くないのに… 本日、午前中にオンラインで打合せをしていると、突然マシンがダウン。 一瞬、停電か?と思ったもののディスプレイの電源は入っている。 あれっ?と思い、すぐさまノートで打合せを継続。 その間に、再度マシンの電源を投入。 問題なく起動する。 でも、CPU温度がたまたま目に入り、95℃を超えて徐々に上昇していく。 105℃あたりで再度マシンダウン。 これは、熱暴走によるダウンの可能性が高い。 以前、CPUをRyzen7→9にした頃は、60℃〜70℃程度だった記憶がある。 本当はGW中にSSDの載せ替えを行う予定だったけれど、忙しくて先延ばしにしていた。 その時やっていれば、多分掃除もしただろうに…。 ということで、午後からマシンを解体し、掃除をすることに。 ケース本体のFANはホコリがかなり溜まっている。 GPUのFANは問題ない。 電源とCPU FANはひどい。 一旦、CPU FANを取り外し、きれいにする。ついでにCPUグリスも塗り直しセット。 動作確認すると、投入直後で40℃台。 そりゃ、熱暴走も起こすわけだ。 せっかくバラしたので、SSDの載せ替えを実施。 OSは500GBで、ユーザ領域(/home)は1TBを使用しているもののAIのmodelをいくつも落としていたり、DockerのImageが多種置いてあるため、結構容量を食っている。 今回、2TBのSSD( Hanye SSD ¥17,800- で入手済)を用意してあるので、 1TB→2TB, 500GB→1TBと玉突きで移動させることを計画していたので実施する。 本当は、ddコマンドで移すつもりだったのだけれど、3月にお客さんのところで使いそうだったので、 ORICOのクローン機能付SSDアダプタ を入手済。 裸族のSSD版ですね…。1万円程度の品です。 これに、新品のSSDとこれまでの1TBのSSDを差し込んでクローン開始。 そこそこ時間はかかるものの、放置でOK。 ただ、HanyeのSSDについているヒートシンクが引っかかるため、一旦取り外してクローン後取り付ける必要があった。 続いて、500GB→先程の1TBに書き込み。 ただ、1TB(samsungの980pro)が、先程のクローンでかなり熱くなっていたため、速度低下が激しい感じ。1TB→2TBよりも時間がかかった感じ。 ...

AccessのMDBファイルをUbuntuで利用

仕方なく方法を探っただけで、やりたいわけでは…

Windowsで動くDB関係のシステムが、XP上で動くものの、Windows7では動作しない。
何とかならないか?と相談を受けて、検討している。

調べてみると、OfficeXP上のAccessを利用して構築されたシステム。
しかし、当時Setupしたものの、すでにそのDiskは無い。

一応、お客の所でWindows7上のAccessでテストしたものの、起動せず…。

そこで、データだけは抜き出して、移植(というか再構築というか、まぁ作り直し)することに。

使用していない機能も多いため、聞き取りを行い、要件定義をしてみたり、設計してみたり…。

さて問題は旧データを取り出して使えるかだ。

我が家の仮想マシン(WindowsXPもWindows7)は、Accessなんて入っていない。
そもそも、Accessは、複数マシンからアクセスした時に超遅くて、挙句の果てにファイル壊してくれたりして以来、使用していない。
だからもう、10年以上開発には使っていないなぁ。

ずっと、PostgreSQLとMySQLでやってきたので、Accessが入っていないのも当然。

iMacのMS-OfficeにはAccessは含まれていない。

MDB Viewer Plusを発見

探してみたら、まぁなんとかなりそうなツールを発見。MDB Viewer Plusだ。
検索語「MDB Viewer」で引っかかったので、まんまの名前だったww

Accessなしで、MDBファイルから直接内容を読み取れるらしい。

早速、Windows7上で試してみる。

一応、MDBファイルは確かに読める。
ReportやForm、コードはダメだが、DB自体は読み込めるし、Exportも可能だ。

まぁ、最低限、過去のデータを手入力しなくても良さそうなので、一安心。

開発のことを考えると、迷うところ。
  1. Excelとマクロで無理やり作る。
  2. Windows上の新しいAccess2013で構築する。
  3. バックエンドにDBサーバを置いて、Windows上のアプリを作成する。
  4. バックエンドにDBサーバを置いて、WEBアプリで作成する。
どれも、一長一短だ。

半分ほど手作業で、補助ツールを用意する程度のシステムにしておけば、万が一の場合や、保守しなくなったりしても自分たちで何とかできるかもという考えでのExcel+マクロなんだけど…。

そもそも、WindowsXPのようにサポートが切れ、利用不可になるOS上のDB。Accessで構築したために、今回移行できずに困っているわけなので、特定のアプリに縛られない方が良いような気もする。

気持ち的には4のWEBアプリが、保守とかしやすくて良さそうだけれど、UIがどうしても貧弱になってしまうので…。

設計は置いといて

まあ、今後の作業はとりあえず、これから検討するとして…。

このMDBをUbuntu上で読み書きできれば、作業効率も上がるかなぁと考えたりして。

何せ、Windowsは仮想マシンなので、起動に20〜30秒ほどはかかる。ログインして使える状態まで約1分程度は待つのが嫌だし、AntiVirusのパターンファイルの更新やら、WindowsUpdateの更新などがかかって、まともに使えるまでに結構時間がかかるのでWindows上で作業したくないというのが本音。

何せ、SSD搭載のX200が爆速で、電源ONから使えるまでの20秒に慣れてしまうと…。

そこで、MDB Viewer Plusをwineで動かしてみる。
$ wine mdbplus.exe
エラー吐いて、お亡くなりになります。
くそっ、ダメか…。

念の為、ググってみる。
GentooのForumに、MDBplus.exeとwineの記事を見つけた。

その中のPOSTに
using winetricks for install packages mdac28, vcrun6, mfc42 is solved this problem.
but i imagine that not all of this packages is need in this case.
if you have some time, then start please from 'winetricks mdac28' and then try to run 'wine <app>'.
なんてヒントがあった。

MDACとは Microsoft Data Access Components (MDAC)のことだ。
そうか、これがあれば行けるのか?

早速、mdac28を入れてみる(28はバージョンなのかなぁ…ちょっと不安だけど、良くわかっていないし…)
$ winetricks mdac28
すると、ネットからインストールしてくれる。
Executing w_do_call mdac28
Executing load_mdac28
Executing mkdir -p /home/username/.cache/winetricks/mdac28
Downloading http://download.microsoft.com/download/4/a/a/4aafff19-9d21-4d35-ae81-02c48dcbbbff/MDAC_TYP.EXE to /home/username/.cache/winetricks/mdac28
--2014-04-21 22:07:30--  http://download.microsoft.com/download/4/a/a/4aafff19-9d21-4d35-ae81-02c48dcbbbff/MDAC_TYP.EXE
download.microsoft.com (download.microsoft.com) をDNSに問いあわせています... 2402:6b00:0:2d::db75:21a3, 2402:6b00:0:2d::db75:219a, 219.117.33.137, ...
download.microsoft.com (download.microsoft.com)|2402:6b00:0:2d::db75:21a3|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6100504 (5.8M) [application/octet-stream]
`MDAC_TYP.EXE' に保存中
100%[======================================>] 6,100,504   1.63MB/s   時間 4.4s
2014-04-21 22:07:35 (1.33 MB/s) - `MDAC_TYP.EXE' へ保存完了 [6100504/6100504]
Using native,builtin override for following DLLs: odbc32 odbccp32 oledb32
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\override-dll.reg
Setting Windows version to win98
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\set-winver.reg
Executing wine mdac_typ.exe
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
err:richedit:ReadStyleSheet skipping optional destination
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:setupapi:SetupAddInstallSectionToDiskSpaceListA Stub
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\msvcrt.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\mtxfiles.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\MDACxpak.CAB"
fixme:setupapi:SetupDefaultQueueCallbackW notification 262144 params f529e0,0
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\MDACxpak.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\SQLXMLXP.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\sqlnet.cab"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\sqlodbc.cab"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\SQLOLDB.CAB"
fixme:advpack:set_ldids Need to support changing paths - default will be used
fixme:setupapi:extract_cabinet_file awful hack: extracting cabinet "C:\\users\\username\\Temp\\IXP000.TMP\\JETFILES.CAB"
Setting Windows version to winxp
Executing winetricks_early_wine regedit C:\windows\Temp\_mdac28\set-winver.reg
ここで、先ほどと同じく
$ wine MDBplus.exe
とすると、さっくりと動くじゃないですか…。
Windows7上で動かした時と、全く同じ動作をしてくれます。

最近のwineは本当に、良く動くようになったなぁと、改めて感心します。
(って先日のFileMakerの時も感心したんだったなぁ)

そこで、目的のMDBを開いてみると、パスワードの確認ダイアログを通過。
ところが…。

ERRORを吐いて、先へ進めない。

msxml3/msxml6かもという書き込みをみて、winetricksで入れてみるがだめだった。
MDACのバージョンだとか、DLLのバージョンの相違で起きるらしいのだが…。

現状、ここまででしか動かせなかった〜。
あと、少しな感じなのになぁ。


コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?