2009-09-15 11 views
1

Je suis assis sur une tonne de données dans une base de données SQL Server 2005, à partir de laquelle nous vider les bases de données Access en tant que cache. Je souhaite créer une application iPhone basée sur des données de base pouvant utiliser ces données à partir de ma base de données SQL Server 2005 ou du vidage d'accès. D'après tous les didacticiels et la documentation Core Data, il me semble que je dois utiliser Xcode pour créer un schéma de données de base et remplir ce schéma en utilisant Xcode. SQLite semble être la bonne chose à faire en tant que point de vidage, puis utiliser SQLite APIs. Mais cela ne correspond pas parfaitement aux données de base dans mon scénario de masse. Apple a rendu obsolète l'exemple SQLite Books apparemment dans le seul but de s'assurer que vous utilisez Core Data et non SQLite.Comment importer des données de Microsoft Access/SQL Server 2005 dans des données de base?

Quelqu'un a-t-il proposé un schéma de sauvegarde pour les données verrouillées dans une base de données Access ou SQL Server 2005 dans un format compatible avec l'iPhone? Je me fous si c'est le code de Mac OS X, le code d'iPhone, ou le code de .NET ... N'importe quoi?

Dans mon cas, je parle de 26 Mo de données que je voudrais avoir un cache hors ligne pour mon application.

26 Mo de XML semble être une mauvaise idée. 26 Mo de SQLite semble être une bonne idée. 26 Mo de Core Data semble être une idée encore meilleure.

Merci à l'avance, --Batgar

Répondre

0

Vous pouvez créer une application Objective-C dans XCode en utilisant la bibliothèque FreeTDS pour extraire des données vers le bas de votre base de données MSSQL et peupler votre magasin CoreData.

http://sourceforge.net/projects/freetds/

Il y a aussi un produit commercial qui fournit un pilote ODBC MSSQL pour Mac, que vous pouvez ensuite appeler à partir de vos données code de migration:

http://www.actualtechnologies.com/product_sqlserver.php

Si cela ne fonctionne pas, Vous pouvez configurer la base de données MSSQL avec une interface IIS et récupérer les données à l'aide de requêtes XML. Depuis MSSQL 2000, il est possible d'interroger directement le serveur via HTTP et de récupérer les résultats en XML sans avoir à écrire de code ASP/ASP.NET.

+0

La clé consiste à essayer de permettre à l'application d'avoir toutes les données disponibles hors connexion. Merci pour les recommandations, je vais jeter un oeil à FreeTDS et le pilote ODBC. Serait une autre façon de convertir ce dont j'ai besoin dans un format XML en utilisant C#/.NET sur une machine Windows, puis faire une importation de données de base à partir de ce XML? – Batgar

+0

Je comprends - ne pas suggérer que vous installez les pilotes ODBC SQL Server sur un iPhone, suggérant simplement comment importer par lots les données dans CoreData. Oui, vous pouvez aussi utiliser C# pour générer du XML, puis l'importer, mais cela vous obligera à écrire * deux * morceaux de code: un pour l'export, un pour l'import. L'utilisation de l'interface de requête directe de SQL Server (qui fournit un XML générique mais cohérent) signifie que vous devez seulement écrire le côté import, qui obtiendrait directement le XML via HTTP depuis IIS avec MSSQL (pas de code ASP.NET intermédiaire). Bonne chance! – richardtallent

Questions connexes