从 Microsoft Access 2007 迁移到 Sql Server 2005

Posted

技术标签:

【中文标题】从 Microsoft Access 2007 迁移到 Sql Server 2005【英文标题】:Moving from Microsoft Access 2007 to Sql Server 2005 【发布时间】:2009-08-05 23:33:04 【问题描述】:

我有 MS Access 2007 数据库和与之关联的 VBA 模块。

我现在想通过 Visual Studio.net 升级我的项目以使用 Sql Server 2005 和 Vb.net。

任何人都可以建议有关传输的完整详细信息,而不会造成太多麻烦或数据丢失。

提前致谢

【问题讨论】:

除了数据表之外,您的 VBA 还涉及什么?您有访问表格和/或访问报告吗? 为什么要放弃Access应用?升级后端通常是非常合理的,但在我看来,放弃一个工作的 Access 前端以及为了用不同的语言重新开发它而投入的所有知识和解决问题通常是一个错误。 【参考方案1】:

根据 RBarry 的回答...使用 SQL Server 迁移向导可以轻松地将数据迁移到 SQL Server。然后,您将拥有一个工作的 microsoft access 应用程序(可能但可能需要完善和调整)。

要将前端 (ui) 转换为 vb.net,可能有一个转换器,但即使有一个转换器,您也可能不得不手动执行很多操作。因此,您将访问版本视为原型,然后开始在 vb.net 中手动构建您的应用程序。

赛斯

【讨论】:

如果我们想从 access-vba 更改前端,最好的语言是 vb.net、asp.net 还是 c#.net?? 语言选择是一种偏好。没有正确的答案。如果他们不知道任何波浪括号语言,那么 vb 会更容易。但其他人会争辩说现在是学习 c# 的时候了。【参考方案2】:

从 Ms-Access SSMA 站点开始:http://www.microsoft.com/sqlserver/2005/en/us/migration-access.aspx

我不知道专门针对 Access -> SqlSever 的迁移指南,但是,有一个非常广泛的 Oracle -> SqlServer Migration Guide,您可以轻松地为项目计划挑选。

【讨论】:

【参考方案3】:

我使用 SQL Server 从 Access 数据库中导入数据。请注意,它不会导入您的密钥或关系 - 您需要重新创建它们。

您的 VBA 代码特定于 Access。您需要在 VB.NET 中重写它。

Access 查询可能会给您带来最大的麻烦。简单的可以通过升迁向导进行转换,但更复杂的则必须用 SQL 重写。

还要注意 SQL Server 对象遵循不同的命名约定。 Access 表通常以 tbl 为前缀,SQL 表通常不以前缀命名。

【讨论】:

以上是关于从 Microsoft Access 2007 迁移到 Sql Server 2005的主要内容,如果未能解决你的问题,请参考以下文章

从文本框值查看组合框值 Microsoft Access 2007

Microsoft Access 2007 - 查看报表中使用的查询?

Microsoft Access 组合框和 vba 代码 2007

Microsoft Access 2007 连接

Microsoft Access 2007 - 如何更改数据库路径

Microsoft Access 2007 数据库相关