sql - 在实时数据库中迁移数据的查询?

标签 sql sql-server ms-access migration

我正在编写代码以将数据从我们的实时 Access 数据库迁移到新的 Sql Server 数据库,该数据库具有不同的架构和重组的结构。此 Sql Server 数据库将与我们正在开发的新版本应用程序一起使用。

我一直在用 C# 编写迁移代码,调用 Sql Server 和 Access 并根据需要转换数据。我第一次迁移一个表,这个表有与我最近没有更新的另一个表的新条目相关的条目,并且由于找不到SQL Server中相应表中的记录而导致错误

因此,我的 SqlServer 生产表只有截至 2009 年 1 月 14 日的数据,我将继续从 Access 迁移更多表。所以我想写一个更新方法,可以找出 Access 中有哪些新内容没有反射(reflect)在 Sql Server 中。

我目前的想法是在 SQL 端编写一个查询,它执行 SELECT Max(RunDate) FROM ProductionRuns,以便为我提供表中该字段的最新日期。在 Access 方面,我会编写一个查询来执行 SELECT * FROM ProductionRuns WHERE RunDate > ?,其中参数是在 SQL Server 中找到的最大日期,并在代码中执行我的翻译步骤,然后将新数据插入到 Sql Server 中.

我想知道的是,我是否有正确的语法来获取该 Sql Server 表中的最新日期?有没有更好的方法来进行这种实时数据库的迁移?

编辑:我所做的是制作当前实时数据库的副本。然后我可以迁移而不必担心更改,然后在开发过程中使用它进行测试,然后我可以在新数据库和应用程序上线时迁移最新数据。

最佳答案

我个人会将这个过程分为两个步骤。

  1. 我会在 SQLServer 中创建 Access DB 的精确副本并复制所有数据
  2. 将数据从此临时 SQLServer 数据库复制到目标数据库

这样你就可以编写一组SQL代码来完成第二步任务

或者使用 SSIS

关于sql - 在实时数据库中迁移数据的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/450515/

相关文章:

sql - MS Access 中的动态报告不会随源查询更新

vba - 从 4 列函数获取最新日期

sql - ARRAY_AGG 在尝试 ORDER BY 时间戳时被 GROUP BY 中断

java 如何使用 JDBC 执行 SQL Dump 数据

sql-server - 在 Delphi 中使用 ADOConnection 查看 'print' 语句的输出

sql - 如何获取 SQL Server 表列的约束

c# - 需要数据库结构的建议(MS SQL/MySQL)

java - UCanAccess:将列添加到现有表

mysql - SQL 返回每个唯一整数值​​的最低值

mysql - 如何使用sql select语句获取两个日期范围内的特定列