2009-08-20 110 views
10

我刚刚有一个可爱的Access数据库,所以我想要做的第一件事就是将它移动到一个正常的数据库管理系统(sqlexpress),但我发现听起来像疯了一样。如何将整个Access数据库导出到SQL Server?

是不是有一个“导出数据库到.sql”按钮的某处?我有大约50个表格,并且这个导出可能会运行多次,所以如果我不需要手动导出所有表格,那就太棒了。生成一个.sql文件(使用表创建和插入)也会很棒,因为它可以让我在版本控制下保持它。

我想如果不可能做这样简单的事情,我会很感激任何指针来做类似的事情。

回答

27

是否有原因不希望使用Management Studio并将Microsoft Access指定为导入数据操作的数据源? (数据库 - >任务 - >导入,Microsoft Access作为数据源,mdb文件作为参数)。或者是否有必须从Microsoft Access内部完成的原因?

+1

没有理由,除了事实我不知道有这样一个选项可用:) – marcgg 2009-08-20 17:02:17

4

SQL Server组中有一个工具 - SQL Server Migration Assistant for Access (SSMA Access)已经有评论指出它比Access中包含的升迁向导更好。

+0

我是SSMA的访问4.2的粉丝,最近看到了一个新版本的公告。 – 2011-05-12 01:22:36

+0

我现在已经在几个数据库上使用了它,这是一件轻而易举的事情。 – 2012-12-13 18:52:22

+0

Link现在已经死了,重定向到SQL Server 2012的页面。 – Zoey 2013-03-27 18:40:47

1

快速和肮脏的方式来升迁喷气/ ACE表到任何ODBC访问的数据库引擎:

  1. 为你的数据库创建ODBC DSN。

  2. 在Access中,选择一个表格,然后从文件菜单中选择EXPORT。选择ODBC作为类型,然后选择你的DSN。

这将导出表及其数据与ODBC驱动程序指示的数据类型与Jet/ACE的数据类型最兼容的数据类型。它不一定会猜对,这就是为什么你可能不会用SQL Server来做到这一点(为此,有更好的翻译工具)。但对于非SQL Server数据库,这可能是一个很好的起点。

+1

尽管这可能不会做索引或关系。 – 2009-08-20 20:11:24

+0

这与他试图避免的解决方案不同吗? (请参阅唯一解决方案链接)。不知道他为什么会觉得这么疯狂。 – JeffO 2009-08-20 21:07:13

相关问题