SQLiteでATOK Padからデータを抽出する方法

iPhoneのアップデートを行い、iOS11に更新した結果、32bitアプリが動作しなくなった。
そして、メインのメモ帳としてずっと使っていたATOK Padも使えなくなった。
まぁ、提供がとっくに終了していたアプリなので仕方の無いことではあるが、中のデータは結構大事な物もあるのでなんとかサルベージする必要がある。

で、考えられる方法は二つ。

 1.iOSを10.xにダウングレードする
 2.iPhoneからATOK Padのデータを抽出する

iOS11にアップデートする前にバックアップを取っていたので、最初は1の手段を考えていたが、単純にバックアップから復元では無く10.xを復元してからバックアップの復元という手順になる様で、ちょっとリスキーに感じる。

それなら2の手順が使えないか調べてみたところ、SQLiteを使えばなんとかなりそうだったので以下にその手順を記述。

1.iPhoneからの抽出

iTunesiPhone接続
・ファイル情報を選択し、ATOK Padを選択
ATOK Padの書類のアイテムから「Memo.sqlite」を選択し、「保存先...」ボタンを押す
 ※必要なら全ファイル選択
・任意の保存先を指定し、保存

f:id:siwon_g:20171021115842p:plain

f:id:siwon_g:20171021115857p:plain

2. SQLiteのビューワーを使って参照

SQLite ビューワー」あたりでググれば色々出てくるので、好きな物を使って「Memo.sqlite」を開く。

参考までに、今回使ったビューワーは以下のソフト。
CSVのエクスポートも可能だが、文字コードUTF-8で出力されるのでExcelで直接開くと文字化けする。エディタソフト等でSJIS等に変換する等の対応が必要。

パッと見た感じ、データ抽出に必要そうなのは以下のテーブル。
タグとノート本文を関連づけようとするとカラムの解析が必要なので、面倒だったらZNOTECONTENTだけを見れば良い。

 ZTAG:タグ名
 ZNOTE:ノート名(タグとノートの関連付け)
 ZNOTECONTENT:ノート本文

 

なお、SQLiteCUIで実行してファイル出力も試してみたが、ノート本文が改行付きのデータなので、ビューワーを使った方が無難。