【问题标题】:Keep Sql server table updated from Access table保持 Sql server 表从 Access 表更新
【发布时间】:2012-05-08 19:44:51
【问题描述】:

我正在尝试从访问表中更新 Sql 服务器中的表。每当在访问表中进行更改时,我希望该更改反映在 sql server 表中。这两个表可以相同。我已经创建了一个从访问 sql server 的 ODBC 连接,并且可以将表导出到 sql server;我只是不知道必须做什么来保持该表的更新。任何建议表示赞赏。

这应该在 Access 中还是在 sql server 中实现?

【问题讨论】:

  • 为什么同时使用 Access 和 SQL Server?如果你有 SQL Server 表,那么就不用 Access,在服务器上做所有事情。
  • 您的 Access 表是否被某些您无法控制的第 3 方应用程序填充?
  • 这里的几乎每个答案都是使用链接表。这也是我要推荐的,但我想特别推荐您尝试使用 ODBC 链接表。它们是将 Access 连接到 SQL Server 的最简单方法。除非您绝对需要,否则请远离同步!

标签: sql-server ms-access


【解决方案1】:

您可以将 SQL Server 表作为链接表添加到 Access 数据库吗? (Useful article on how to add linked tables)?这样一来,Access 数据库的用户(希望不会太多!)实际上是在直接编辑 SQL Server 表。 如果这不是可取的,那么如何在 SQL Server 数据库中创建另一个表,并将其作为链接表添加到 Access 数据库中。然后,添加一个触发器,以便在对该表进行插入/更新/删除时,在您的主表上执行相同的操作。

【讨论】:

  • 我查看了您推荐的链接,这是我需要的过程,但我需要反向完成。我需要将访问中的表放入 sql server,这已经通过 ODBC 完成,并保持更新。然后我将在该表上创建触发器,以更新 sql server 数据库的其他部分。
  • 这两个数据库的原因是因为 sql server 运行一个工单应用程序,而 access 运行的是网站。我们目前保持访问最新,我想避免在两个应用程序中输入相同的数据更改
  • 如果您已经在 SQL Server 中获得了一个 Access 数据库的链接,那么可能由于某种原因这对您不起作用。你能解释一下为什么不吗? (我猜你不能在这样链接的表上创建触发器)。
  • 一旦表在 sql server 中,我就可以对其运行查询,但是为了将表导入 sql server,我使用 ODBC 连接运行了导出。我不相信如果没有其他导出,该表将保持最新。
  • 不,不会。导出只是复制数据。我建议你设置一个链接表,这与导出不同。
【解决方案2】:

我认为在 SQL Server 中设置 Linked Server 可能比从 Access 自动导出数据更容易实现。

根据the MSDN page

许多类型的 OLE DB 数据源都可以配置为链接服务器,包括 Microsoft Access 和 Excel。

Server-on-SQL-2005-Server/

【讨论】:

  • 你可能也想看看这个问题:stackoverflow.com/q/5873673/390819
  • 在链接服务器的情况下,我不会在 SQL 中创建复制表。我只需使用 Access 一个,每次都获取新数据。
  • 嗯,有道理。所以它就像马丁的答案,除了数据留在 Access 而不是 SQL
  • @ConradFrix 是的,正好相反
【解决方案3】:

Access 没有 在我知道的更新/插入/删除行时发生的“事件”。 正如 JeffO 指出的 data macros 可以做你想做的事。

您还可以定期同步它们。有几种技术可以定期执行同步任务(SQL Server 代理、Windows 服务、Windows 调度程序、应用程序中的计时器等),但如果两个表都可以修改,仍然必须处理同步存在的所有问题,最糟糕的是数据冲突解决。没有简单的解决方案。

也许如果您解释了您正在使用 SQL Server 和 Access 中的同步数据解决的问题,那么有人可能会为您指出没有这些问题的解决方案的方向。

【讨论】:

  • Access 2010 有数据宏,但记录更改必须在作为前端的 Access 中发生。
  • @JeffO wow 对此一无所知。出于好奇,您知道数据宏是否在拆分数据库中运行(前端或后端)
猜你喜欢
  • 1970-01-01
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 2023-03-22
  • 2018-07-26
相关资源
最近更新 更多