我的公司(我工作的公司)有一个 Microsoft Office Access 应用程序,它有超过 100 万行代码和数百个表单、表格和数据库。因此,将其转换为 dot net(我的建议)对我的老板来说不是一个选择。
目的是将其迁移到 SQL Server,我已经完成了简单的 SQL 迁移,表也已转换,一切正常,但我正在使用 SQL 2008,它(应该)实现了“断开连接”技术(ado.net)然而访问仅适用于旧技术 ADO。
但应用程序可以运行!并且它更新了 SQL 数据库。那么它是如何工作的呢?
答案1
Evan 说得对,你可能会从中得到更好的结果堆栈溢出。
话虽如此,您说的有一部分是对的。内部 Access 仅适用于原始 ADO,因为它使用 VBA。由于 VBA 仅支持 COM,因此您只能在宏和内部代码中获得经典 ADO 支持。
连接到外部数据源有点不同,因为您可以使用其他驱动程序来执行此操作。您很可能使用 .NET Sql Native Client 或 SQL OLEDB 驱动程序连接到 SQL 2008。
答案2
您的意思是迁移向导不仅将数据迁移到 SQL Server,还更新了 mdb 文件以使用该 SQL Server 数据库而不是其自己的表?您想知道这是如何工作的吗?
我不确定迁移向导如何设置它,但我以前手动完成过,并且使用链接表完成。 将所有数据迁移到 SQL Server 后,我从 mdb 文件中删除了所有表,并将它们每个替换为与 SQL Server 中的等效表链接的表。