これはこの前の記事をフォローアップしている 役に立つ答え ;私は担当者を持っていたら私はそこにコメントを残していただろう(:あなたが私と同じ質問がある場合は:
まず、しなければならなかった リネーム AddressBook-v22.abcddb
で終わる .db
私が私を得ることができる前に接尾辞 SQLite DBブラウザ sqlite3はコマンドラインから開くことができますが、(バージョン3.8.0)はSQLiteデータベースとして認識します。
次に、このデータベースで使用されているデータモデルを考え出すことが私の最大の面倒でした。私にとっては、DBブラウザのGUIを使用して、表を越えて努力するだけの価値がありました。
- 一次積分テーブルは
ZABCDRECORD
(なぜAppleは追加しなければならなかったのかZABCD
すべてのテーブル名に? それらを結合することを可能にする他のテーブルの属性の名前は様々です、例えば:
LEFT JOIN ZABCDPOSTALADDRESS ON ZABCDPOSTALADDRESS.ZOWNER = ZABCDRECORD.Z_PK LEFT JOIN ZABCDEMAILADDRESS ON ZABCDEMAILADDRESS.ZOWNER = ZABCDRECORD.Z_PK LEFT JOIN ZABCDNOTE ON ZABCDNOTE.ZCONTACT = ZABCDRECORD.Z_PK
これらのテーブルに既存の連絡先データを取得することはできますが、sqliteデータベースに対するその後の編集を連絡先に反映させることはできません。 @ bmikeはvCardのインポート/エクスポートの使用を提案していますが、これは確かに回避策です。
2
申し訳ありませんが、私はあなたの質問を手伝うことができません。 SQLite用DBブラウザ 。
—
user3439894
私はあなたがに取り組むことで何かを達成できるとは思わない
—
daniel Azuelos
.abcddb
これはによって構築されたデータベースだからです Contacts
その内部データから Metadata
ディレクトリ。
Ask Differentへようこそ。具体的に何を変更したいですか? vCardとしてデータをエクスポートし、そのファイルを操作してからインポートするのが、データベースを一括変更するための最も速い方法です。それ コードはよく文書化されています あるいは、必要に応じて単純化されたsqliteデータベーススキーマにインポートすることもできます。また、質問ごとに1つの質問に固執することができれば、それはここで最もうまくいきます。
—
bmike
やあ@ bmike、私は連絡先を追求していた
—
rikb
.abcddb
< - > SQLite接続。はい、私はSQLiteにインポートすることができますが、それは往復することは不可能のようです。それは私が持っていたいと思う「答え」に近づいています。あなたがこれをどのように適合させるために編集して欲しいかを教えてください。
コードブロックの後に必要なものはすべてうまくいくと思います。別のスキーマを使用するように連絡先アプリを変更するのは広すぎるIMOです。基本的に、もっと狭い最終目標を指定できますか?
—
bmike