出口。我们正在对 SQL Server 进行导出 Ms 访问。
我们知道如何逐表导出该表。我们面临并且无法处理的是,MS Access中存在的表之间的关系在导出后会丢失。这很烦人。有没有一种方法或工具可以让我们一次处理多个表,或者有一些解决方法吗?
出口。我们正在对 SQL Server 进行导出 Ms 访问。
我们知道如何逐表导出该表。我们面临并且无法处理的是,MS Access中存在的表之间的关系在导出后会丢失。这很烦人。有没有一种方法或工具可以让我们一次处理多个表,或者有一些解决方法吗?
既然你用 c# 标记了它,我将假设你想自己实现它。以下是您需要的构建块:
创建到您的 Access 数据库的 DAO 连接(添加对 DAO 库的引用,创建一个新的DBEngine
,然后使用其OpenDatabase
方法获取Database
引用):
DBEngine dbe = new DBEngine();
Database db = dbe.OpenDatabase(pathToDatabase);
遍历Relations
属性以访问存储在 MS Access 数据库中的关系。
在 SQL Server 数据库中创建关系。为此,您可以
ALTER TABLE table1
ADD CONSTRAINT table1_fkfield_fk FOREIGN KEY (fkfield)
REFERENCES table2 (pkfield)
看起来微软对此有一个答案。Access 中有一个名为 Upsizing Wizard 的选项,它“保留数据库结构,包括数据、索引和默认设置”。
这是 KB 文章的链接,解释更多:http: //support.microsoft.com/kb/237980
使用 SQL Server 数据转换服务 (DTS) 将数据从 Access 数据库导入 SQL Server 数据库。有关 DTS 和 DTS 导入向导的详细信息,请参阅 SQL Server 7.0 联机丛书中的“数据转换服务”和“使用导入和导出向导”主题。有关示例,请参阅 SQL Server 联机丛书中的“从 Access 数据库示例导入数据”主题。