2009-10-18 3 views
0

J'essaie de créer une application iPhone en utilisant la gestion intégrée des données de base. Je veux synchroniser les données avec une base de données MSSQL ou MySQL. Les données de base sont compatibles avec SQLite, donc je pensais que cela pourrait fonctionner comme un pont. Quelqu'un peut-il penser à la façon dont on pourrait réaliser cette fonctionnalité?Synchroniser les données de base avec SQL ou MySQL Via SQLite

Répondre

6

Vous pensez à ce problème. CoreData n'est pas "compatible" avec SQLite. Un de ses types de magasin de sauvegarde utilisant SQLite comme détail d'implémentation. Le contenu réel de cette base de données SQLite est non documenté et interne à CoreData. C'est un point clé, vous ne pouvez pas utiliser une base de données SQLite3 arbitraire avec CoreData, CoreData crée une base de données SQLite3 pour un modèle particulier.

Si vous souhaitez synchroniser des données d'un autre DB dans CoreData, vous devez interroger cette base de données, obtenir les données de réponse, puis créer et mettre à jour NSManagedObjects en fonction de ces données. Les détails exacts de la façon dont vous faites cela (via un webservice et un serveur d'applications enveloppant votre DB, avec une bibliothèque client DB intégrée dans votre application, etc.) dépendront de la nature exacte du serveur et de la manière dont vous voulez interagir avec lui, mais vous ne synchroniserez pas autour des tables SQL sous CoreData et si le CD fonctionne magiquement en y décrivant la disposition de la table, les mises à jour doivent passer par les interfaces CoreData standard comme toute manipulation d'objet.

+0

Intéressant. Alors utiliseriez-vous du savon, du repos, du json ou? – Bryan

+0

Personnellement, j'ai tendance à utiliser JSON servi via l'interface REST pour ce genre de choses, car il prend moins de bande passante que SOAP, mais ce qui est le mieux dépendra de votre situation exacte. –

+0

Merci Louis--! – Bryan

Questions connexes