7

我想在 iPhone 上使用预先存在的 MySQL 数据库开始使用 Core Date。将 MySQL 数据库传输到 SQLite 的最简单方法是什么?

我试过使用 SQLite Migrator,但我不知道在哪里可以找到 Mac 的 ODBC 驱动程序(Snow Leopard)。我发现http://www.ch-werner.de/sqliteodbc/似乎有驱动程序,但它们适用于 Power PC。

如果有人可以给我一个演练,或者告诉我最好的工具是什么,我将不胜感激。

谢谢。

4

7 回答 7

6

也许最简单的方法是使用mysqldump将 MySQL 数据库中的原始 SQL 转储到文本文件中,然后使用sqlite3_exec()函数执行该 SQL 以填充 SQLite 数据库。

于 2009-11-05T22:45:28.977 回答
1

你看过这个 Perl 脚本吗?我没有使用它——只是快速搜索了 mysql 到 sqlite 的迁移,它就弹出来了。


编辑(在您回复我的评论后):

反方向在这里处理

如果您要重复执行此操作并且如果要发生数据结构更改,那么使用Django之类的东西可能会更好(尽管以一种非常骇人听闻的方式)。有了它,我会:

# This three lines are done once
django-admin.py startproject mymigrationproject
cd mymigrationproject
./manage.py startapp migration

# The following lines you repeat each time you want to migrate the data
edit settings.py and make the changes to connect to MySQL
./manage.py inspectdb > ./migration/models.py
edit ./migration/models.py to reorder tables (tables in which other tables depend on top)
mkdir fixtures
./manage.py dumpdata migration > ./fixtures/data.json
edit settings.py and make the changes to connect to SQLite
./manage.py syncdb
./manage.py loaddata ./fixtures.data.json
于 2009-11-03T05:01:59.623 回答
1

以下是转换器列表:


另一种效果很好但很少被提及的替代方法是:使用 ORM 类为您抽象出特定的数据库差异。例如,您可以在 PHP ( RedBean )、Python (Django 的 ORM 层、StormSqlAlchemy )、Ruby on Rails ( ActiveRecord )、Cocoa ( CoreData )中获得这些

即你可以这样做:

  1. 使用 ORM 类从源数据库加载数据。
  2. 将数据存储在内存中或序列化到磁盘。
  3. 使用 ORM 类将数据存储到源数据库中。
于 2011-05-14T06:23:16.213 回答
0

您可以使用来自http://www.sqlmaestro.com/products/sqlite/datawizard/的试用版

它完全可以使用 30 天。

于 2009-11-04T19:58:15.403 回答
0

您可以从 Actual Technologies 获得适用于 Mac OS X 的 ODBC 驱动程序。

http://www.actualtech.com/

要连接到 MySQL,您需要他们的 ODBC Driver for Open Source Databases:

http://www.actualtech.com/product_opensourcedatabases.php

(免责声明:我是 SQLite Migrator 的作者)

于 2010-02-11T15:26:04.507 回答
-1

有一个免费的 ETL 产品可用于将数据从一个数据库迁移到另一个数据库。看看:http ://www.talend.com/index.php

祝你好运!

于 2010-01-29T16:56:24.043 回答
-1

为了进行转换,我最终使用了来自 Actual Access 的 ODBC。我想我将它与SQLite Migrator结合使用。我从不喜欢这种方式,尽管它总是很笨重。这两款软件也很昂贵,最终花费了大约 80 美元。

如果我不得不再次这样做,我会购买SQLabs的 SQLiteConverter。我使用他们的 SQLite Manager,虽然它有很多界面问题,但对于数据库软件来说还不错。

http://www.sqlabs.net/sqliteconverter.php

于 2012-12-04T10:08:45.213 回答