弁財天
ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」
ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」
[仁義なきキンタマ] 211(8ED4E3A4)のドキュメント\仕事用\藤田部長\山口組後藤組資料\捜本資料\深川・会社社長けん銃殺人特捜本部\深川特捜本部電話帳1.mdb
なるファイルがあって、Access97の.mdbファイルのよーだ。
Win10のAccess2016で開こうとすると、
「前のバージョンでアプリケーションで作成されたデータベースを開くことはできません。」
のエラーになる。
では、.mdbファイルを開いて、とりあえず.csvファイルでLinuxでも読めるよーにするのは、どーすればいいのか?
Access 2016(64 bit +win10Home)でmdbファイルは開ける MS Access 2013 Later can Open mdb file
すっげー。 パワーシェルで「DAO.DBEngine.36」を作成してAccess2003の.mdbファイルに変換するらすい。
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exeを管理者モードで起動。
Set-ExecutionPolicy Unrestricted -scope LocalMachine
PS C:\WINDOWS\system32> Set-ExecutionPolicy Unrestricted -scope LocalMachine 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y PS C:\WINDOWS\system32>UTF8でスクリプトconv.ps1を作成。中のパスを編集して変える。
Set-ExecutionPolicy Restricted $db97 = "C:\Users\hoge\Somewhere\山口組後藤組資料\捜本資料\深川・会社社長けん銃殺人特捜本部\深川特捜本部電話帳1.mdb" #$db2003=[Environment]::GetFolderPath('Desktop') + "\2003.mdb" $db2003="C:\Users\hoge\Somewhere\山口組後藤組資料\捜本資料\深川・会社社長けん銃殺人特捜本部\深川特捜本部電話帳1_2003.mdb" $dbLangJpn=';LANGID=0x0411;CP=923;COUNTRY=0' $dbVer40=0x40 $dbe=New-Object -ComObject DAO.DBEngine.36 $dbe.CompactDatabase($db97,$db2003,$dbLangJpn,$dbVer40,$dbLangJpn) Remove-Variable dbe # Set-ExecutionPolicy Restricted # New-Object -ComObject DAO.DBEngine.36 CompactDatabase
cd C:\Users\hoge\Somewhere\山口組後藤組資料\捜本資料\深川・会社社長けん銃殺人特捜本部 ./conv.ps1で実行すると変換された「深川特捜本部電話帳1_2003.mdb」が作成される。
同じディレクトリに.mdbファイルが複数あって、まとめて変換するときは、
#$DIR="C:\Users\hoge\Somewhere\山口組後藤組資料\捜本資料\練馬・喫茶店けん銃殺人特捜本部" # カレントディレクトリのほうが使いやすいかもw $DIR=$Pwd.Path $dbLangJpn=';LANGID=0x0411;CP=923;COUNTRY=0' $dbVer40=0x40 $List=Get-ChildItem *.mdb -Name foreach($m in $List) { $target = "$DIR\$m" $b = (Get-Item $m).BaseName $mdb2003 = "$DIR\$b" + "_2003.mdb" echo $mdb2003 $dbe=New-Object -ComObject DAO.DBEngine.36 $dbe.CompactDatabase($target,$mdb2003,$dbLangJpn,$dbVer40,$dbLangJpn) Remove-Variable dbe }
Bonaponta in Windows 2017年2月16日 午後 12:34 JST