Как импортировать данные из Microsoft Access / SQL Server 2005 в Core Data?

Я сижу на тонне данных в базе данных SQL Server 2005, из которой мы выгружаем базы данных Access в виде кеша.

Я хочу создать приложение для iPhone на основе Core Data, которое может использовать эти данные из моей базы данных SQL Server 2005 или дампа Access.

На основе всех руководств и документации по Core Data кажется, что мне нужно использовать Xcode для создания схемы Core Data и заполнения этой схемы с помощью Xcode.

SQLite кажется правильным, если он действует как точка дампа, а затем использует API SQLite. Но это не очень хорошо сочетается с Core Data в моем сценарии массовых данных.

Apple исключила пример SQLite Books, по-видимому, с единственной целью убедиться, что вы используете Core Data, а не SQLite.

Кто-нибудь придумал схему дампа данных, заблокированных в базе данных Access или SQL Server 2005, в формат, удобный для iPhone? Мне все равно, код это Mac OS X, код iPhone или код .NET ... Что-нибудь?

В моем случае я говорю о 26 МБ данных, для которых я хотел бы иметь автономный кеш для моего приложения.

26 МБ XML - плохая идея. 26 МБ SQLite кажутся отличной идеей. 26 МБ Core Data кажутся даже лучшей идеей.

Заранее спасибо, - Батгар.


person Batgar    schedule 15.09.2009    source источник


Ответы (1)


Вы можете создать приложение Objective-C в XCode, используя библиотеку FreeTDS, чтобы извлекать данные из базы данных MSSQL и заполнять хранилище CoreData.

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

Существует также коммерческий продукт, который предоставляет драйвер MSSQL ODBC для Mac, который затем можно вызвать из кода миграции данных:

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

Если это не сработает, вы можете настроить базу данных MSSQL с помощью интерфейса IIS и получать данные с помощью запросов XML. Начиная с MSSQL 2000, есть способ запрашивать сервер напрямую через HTTP и возвращать результаты в XML без необходимости писать какой-либо код ASP / ASP.NET.

person richardtallent    schedule 15.09.2009
comment
Главное - попытаться разрешить приложению иметь полные данные, доступные в автономном режиме. Спасибо за рекомендации, посмотрю на FreeTDS и драйвер ODBC. Другой способ - преобразовать то, что мне нужно, в формат XML с помощью C # / .NET на компьютере с Windows, а затем выполнить импорт Core Data из этого XML? - person Batgar; 17.09.2009
comment
Я понимаю - я не предлагаю вам устанавливать драйверы ODBC для SQL Server на iPhone, а просто предлагаю пакетный импорт данных в CoreData. Да, вы также можете использовать C # для генерации XML, а затем импортировать его, но для этого вам потребуется написать два фрагмента кода: один для экспорта, один для импорта. Использование встроенного интерфейса прямого запроса SQL Server (который предоставляет общий, но согласованный XML) означает, что вам нужно только написать сторону импорта, которая будет получать XML через HTTP из IIS с MSSQL непосредственно за ним (без промежуточного кода ASP.NET). Удачи! - person richardtallent; 18.09.2009