【问题标题】:How do I import data from Microsoft Access / SQL Server 2005 into Core Data?如何将数据从 Microsoft Access / SQL Server 2005 导入 Core Data?
【发布时间】:2009-09-15 21:23:38
【问题描述】:

我正坐在 SQL Server 2005 数据库中的大量数据中,我们将 Access 数据库转储为缓存。

我想创建一个基于 Core Data 的 iPhone 应用程序,它可以使用我的 SQL Server 2005 数据库或 Access 转储中的数据。

根据所有 Core Data 教程和文档,看来我必须使用 Xcode 创建 Core Data 架构并使用 Xcode 填充该架构。

SQLite 似乎适合充当转储点,然后使用 SQLite API。但在我的海量数据场景中,这并不能很好地连接到 Core Data。

Apple 似乎已经废弃了 SQLite Books Example,其唯一目的是确保您使用 Core Data 而不是 SQLite。

有没有人想出一个将 Access 或 SQL Server 2005 DB 中锁定的数据转储为 iPhone 友好格式的转储方案?我不在乎它是 Mac OS X 代码、iPhone 代码还是 .NET 代码……有什么?

就我而言,我说的是 26MB 的数据,我希望为我的应用程序提供离线缓存。

26MB 的 XML 似乎是个坏主意。 26MB 的 SQLite 似乎是个好主意。 26MB 的 Core Data 似乎是一个更好的主意。

提前致谢, --蝙蝠侠

【问题讨论】:

    标签: iphone core-data


    【解决方案1】:

    您可以使用 FreeTDS 库在 XCode 中创建一个 Objective-C 应用程序,以从您的 MSSQL 数据库中提取数据并填充您的 CoreData 存储。

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

    还有一个商业产品为 Mac 提供 MSSQL ODBC 驱动程序,然后您可以从数据迁移代码中调用它:

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

    如果这不起作用,您可以使用 IIS 前端设置 MSSQL 数据库并使用 XML 查询检索数据。从 MSSQL 2000 开始,有一种方法可以直接通过 HTTP 查询服务器并以 XML 形式返回结果,而无需编写任何 ASP/ASP.NET 代码。

    【讨论】:

    • 关键是尝试让应用拥有完整的离线数据。感谢您的建议,我将看看 FreeTDS 和 ODBC 驱动程序。另一种方法是在 Windows 机器上使用 C#/.NET 将我需要的内容转换为 XML 格式,然后从该 XML 导入核心数据?
    • 我明白了——不是建议你在 iPhone 上安装 SQL Server ODBC 驱动程序,只是建议如何将数据批量导入 CoreData。是的,您也可以使用 C# 生成 XML,然后将其导入,但这需要您编写 段代码:一段用于导出,一段用于导入。使用 SQL Server 内置的直接查询接口(提供通用但一致的 XML)意味着您只需编写导入端,这将通过 HTTP 从 IIS 获取 XML,直接在其后面使用 MSSQL(无中间 ASP.NET 代码)。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2010-09-22
    相关资源
    最近更新 更多