【问题标题】:Move data from SQL Server to MS Access mdb将数据从 SQL Server 移动到 MS Access mdb
【发布时间】:2012-02-02 16:57:51
【问题描述】:

我需要将某些信息从我们的 SQL Server 数据库传输到 MS Access 数据库。我已经设置了访问表结构。我正在寻找一个纯sql解决方案;我可以直接从 ssms 运行,而不必在 c# 或 vb 中编写任何代码。

我知道如果我要先设置 odbc 数据源,这是可能的。我想知道如果没有 odbc 数据源是否可以做到这一点?

【问题讨论】:

  • 我读过您可以在 SQL Server 中将 Access db 设置为链接服务器。然后可能执行插入语句将您选择的 SQL Server 数据添加到 Access 表中。 (这里只是头脑风暴。)
  • 谢谢汉斯,这正是我想要的。如果您愿意回答我会标记它。

标签: sql-server ms-access odbc


【解决方案1】:

如果您想要一个“纯”SQL 解决方案,我的建议是使用 OPENDATASOURCE 从您的 SQL 服务器连接到您的 Access 数据库。

然后您可以使用 T-SQL 编写您的 INSERT 指令。它看起来像:

INSERT INTO OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=myDatabaseName.mdb')...[myTableName] (insert instructions here)

INSERT 的复杂性取决于 SQL 和 ACCESS 数据库之间的差异。如果表和字段具有相同的名称,那将非常容易。如果模型不同,您可能必须构建特定查询以“塑造”您的数据,然后才能将其插入 MS-Access 表和字段。但即使它变得复杂,也可以通过“纯 SQL”来处理。

【讨论】:

  • 哦,我希望你在我已经实现链接服务器解决方案之前就已经回答了。不过,我可能会改用这种方法,因为它减少了一个故障点,不必担心是否创建了链接服务器。
  • 如果您迁移到 Access 2010 和/或您拥有 64 位/32 位混合环境,这可能会变得相当复杂。此外,您可能需要允许 Ad Hoc Distributed Queries 和其他一些事情。否则,它是相当有趣的。
  • #remou 你对这个'had oc分布式查询'参数更新是正确的。我忘记了,但它是一个简单的 TSQL 语句,并且您从服务器获得的错误消息是明确的。
【解决方案2】:

考虑将您的 Access 数据库设置为 SQL Server 中的链接服务器。我找到了说明并将它们发布在an answer to another SO question。我自己没试过,所以不知道你会遇到什么挑战。

但是,如果您可以链接 Access 数据库,我认为您可以在 SQL Server 中执行插入语句,将您选择的 SQL Server 数据添加到 Access 表中。

【讨论】:

  • +1,但看起来我可能谎称你的答案...希望你能原谅我 :) 我必须尝试 Philippe 的解决方案,因为它不需要设置链接服务器。但仅供参考,我确实已经实现了它,而且效果很好!
  • 别担心,布兰登。我也喜欢那个。我实际上试过一次,但记不太清楚了。信任 OPENDATASOURCE 可能存在问题。你会想办法的。 :-)
【解决方案3】:

【讨论】:

    猜你喜欢
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多