Sql server MS Access应用程序-将数据存储从Access转换为SQL Server
请记住,我不是访问大师。我精通SQL Server和.Net framework。以下是我的情况: 一家承包商为我的公司构建了一个非常大的MS Access 2007应用程序 应用程序已按访问权限分为两层;前端部分保存所有Ms访问表单,后端部分保存存储在网络计算机上的访问表、查询等 当然,需要将数据存储部分转换为SQLServer2005,同时保留Ms Access中构建的所有GUI表单。这就是我进来的地方 我读了一些书,发现您可以将表单甚至access表链接到SQL Server表,但我仍然不确定到底可以做什么以及如何做Sql server MS Access应用程序-将数据存储从Access转换为SQL Server,sql-server,sql-server-2005,ms-access,vba,ms-access-2007,Sql Server,Sql Server 2005,Ms Access,Vba,Ms Access 2007,请记住,我不是访问大师。我精通SQL Server和.Net framework。以下是我的情况: 一家承包商为我的公司构建了一个非常大的MS Access 2007应用程序 应用程序已按访问权限分为两层;前端部分保存所有Ms访问表单,后端部分保存存储在网络计算机上的访问表、查询等 当然,需要将数据存储部分转换为SQLServer2005,同时保留Ms Access中构建的所有GUI表单。这就是我进来的地方 我读了一些书,发现您可以将表单甚至access表链接到SQL Server表,但我仍然不
有人这样做过吗?请就此类承诺的任何能力、限制和考虑事项发表意见。谢谢 这是您的最低成本选择。您需要为指向SQL Server的Access客户端设置ODBC连接。然后可以使用(我认为是)“导入”选项通过ODBC源将表“链接”到SQL Server。将您的数据从Access表迁移到SQL Server,SQL Server上的数据将以您可以管理和备份的形式存在。重要信息,然后可以将查询作为视图写入SQL Server,并作为链接表呈现给Access db。链接访问表工作正常,但我仅将它们用于ODBC和其他数据库(Firebird、MySQL、Sqlite3)。主键或外键的信息未通过。数据类型解释也存在问题:MySQL中的日期与Access VBA中的日期不同。我想在使用SQL Server时,这些问题并没有那么严重。您有两个选择,可以将结构和数据从access移动到SQL。然后可以设置链接表,使应用程序“应该”像现在一样工作。不幸的是,Access使用的Sql方言与Sql Server不同,因此如果代码中有任何“原始Sql”语句,则可能需要更改它们 虽然Access的所有其他功能都链接到了表,但QBE、表单等应该可以正常工作。这是最简单也是最好的方法 解决此问题的另一种方法是如上所述迁移数据,然后从access中使用ADO,而不是使用链接表。如果您习惯于其他语言/开发环境,那么这种方法有点普遍,但它是错误的方法。Access附带了大量的内置功能,使处理数据变得非常简单,如果您重新使用ADO/Sql,那么您将失去许多好处 我建议从应用程序的一小部分开始——非必要数据,迁移一些表,看看它是如何运行的。当然你得先把所有东西都备份起来
祝你好运我听过一位开发人员谈到这项技术。这是如果您真的想要像客户机-服务器应用程序这样的东西
我猜本地表就像.NET中的数据集?在某种程度上,我确信这是一个不完美的类比。重要的一点:如果在Access中链接表到SQL Server,那么每个表都必须定义一个主键(Contractor?Access?经验表明,可能有些表没有PKs)。如果未定义PK,则访问表单将无法更新和插入行,从而使表格有效地只读。请勿使用Access中的升迁向导:
- 首先,它不适用于SQLServer2008
- 第二,有一个更好的工作工具:
SSMA,由Microsoft免费提供
- 将数据从Access移动到SQL Server
- 自动将表链接回Access
- 为您提供有关两个数据库中的差异导致的潜在问题的大量信息
- 保持对更改的跟踪,以便您可以随着时间的推移保持两个更改的同步,直到迁移完成
我最近写了一篇关于它的文章。其他人建议将Jet后端升级到SQL Server并通过ODBC链接。在一个理想的世界里,应用程序将运行得很好,而无需进行任何更改 在现实世界中,您会发现,您的一些前端对象设计为高效、快速的喷气式飞机