从SQL Server如何从MS Access数据库读取到一个或多个表列中的UPDATE数据?

Gar*_*ett 7 sql-server ms-access

我的SQL Server数据库表有一列需要使用MS Access文件中的数据进行更新.如何查询MS Access数据以执行此类更新?

导入向导似乎只处理插入新数据而不是UPDATE现有数据?或者我误解了如何使用向导?

Han*_*sUp 7

听起来你想从SQL Server端运行该操作......将Access数据"拉"到SQL Server中.如果是这样,您可以将Access文件设置为SQL Server中的链接服务器.我没有这样做,但已经阅读过其他人的案例.我从如何使用MS Access中的链接表将SQL Server数据库链接到MS Access中复制了这些步骤在SQLServerPedia.

1) Open EM.
2) Goto the Server to which you want to add it as linked server.
3) Then goto security > Linked Servers section from console tree.
4) Right click on the Client area. Then New Linked Server.
5) Give a name and Specify Microsoft Jet 4.0 as Provider string.
6) Provide the location of the MDB file.
7) Click OK.
Run Code Online (Sandbox Code Playgroud)

或者,您可以从Access端运行该操作,并将数据推送到SQL Server.如果这对您有用,请使用Olivier的说明设置ODBC链接的SQL Server表.或者,您可以在不创建DSN的情况下执行此操作:使用DSN-Less Connections.

无论哪种方式链接表,UPDATE您在Access中运行的语句可能就像这样简单:

UPDATE
    linked_table AS dest
    INNER JOIN local_table AS src
    ON dest.pkey_field = src.pkey_field
SET dest.access_data = src.access_data
WHERE
    dest.access_data <> src.access_data
    OR dest.access_data Is Null;
Run Code Online (Sandbox Code Playgroud)


Oli*_*bes 4

首先在Windows中设置ODBC DSN。打开控制面板 > 管理工具 > 数据源 (ODBC)。请注意,在 64 位 Windows 上,这可能会打开 64 位管理员。但是,如果您有 32 位访问权限,则需要 32 位管理员 (%windir%\SysWOW64\odbcad32.exe)。

然后您可以将 SQL-Server 表链接到您的访问数据库。在“链接表”对话框中,选择“ODBC Databases()”作为文件类型。

然后,您可以查询链接的 SQL Server 表,就像它们是访问表一样。

请参阅使用 SQL Server 数据库配置 Microsoft Access 链接表