我意识到您可以使用 upsize 向导来正常转换它,但由于这是一个服务器端进程,我们每天都从第三方获取 mdb 文件,我必须能够在不接触的情况下摄取这些文件建筑学。
目前,我将着手手动编写(呃),我通过数据源读取访问数据库,并通过批量插入或实体框架将其打入 sql server。我真的希望有更好的方法来做到这一点。我愿意接受很多创造性的方法,因为有很多表格和大量数据。
我意识到您可以使用 upsize 向导来正常转换它,但由于这是一个服务器端进程,我们每天都从第三方获取 mdb 文件,我必须能够在不接触的情况下摄取这些文件建筑学。
目前,我将着手手动编写(呃),我通过数据源读取访问数据库,并通过批量插入或实体框架将其打入 sql server。我真的希望有更好的方法来做到这一点。我愿意接受很多创造性的方法,因为有很多表格和大量数据。
我想到了许多方法,它们确实都涉及自定义编程,但应该相对简单且易于实现。
insert dest select * from source
)。OPENDATASET
或OPENROWSOURCE
与 SQL Server 直接连接到 Access DB 并复制数据。您可以再次使用insert dest select * from source
来复制数据,或select * into dest from source
从源数据创建新表。这涉及调整 sql server 上的一些系统设置,因为默认情况下它没有启用,但是一些谷歌搜索应该让你开始。SqlBulkCopy
(用于自动化的 .NET 类bcp
)从 Access 数据库上传数据。只需直接使用 ADO.Net 处理数据,因为没有理由仅仅为了将数据从一个源迁移到另一个源而构建整个 EF 层。我在各种项目中使用了上述所有三种方法的变体,但是对于移动大量表,我发现选项 #2 相对有效。如果您的表名每天都是动态的,它将涉及一些动态 SQL 代码,但如果它们是静态的,您应该只需要编写一次逻辑并使用一个参数来读取文件名。