我的SQL Server数据库表有一列需要使用MS Access文件中的数据进行更新。如何查询MS Access数据以执行此类更新?
导入向导似乎只处理插入新数据而不是更新现有数据?或者我误解了如何使用向导?
答案 0 :(得分:7)
听起来你想从SQL Server端运行该操作......将“访问数据”拉入SQL Server。如果是这样,您可以将Access文件设置为SQL Server中的链接服务器。我没有这样做,但已经阅读过其他人的案例。我在SQLServerPedia上从How can I link a SQL Server database to MS Access using link tables in MS Access?复制了这些步骤。
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.
或者,您可以从Access端运行该操作,并将数据推送到SQL Server。如果这对您有用,请使用Olivier的说明设置ODBC链接的SQL Server表。或者您在不创建DSN的情况下执行此操作:Using DSN-Less Connections。
无论哪种方式链接表,您在Access中运行的UPDATE
语句都可能如此简单:
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;
答案 1 :(得分:4)
首先在Windows中设置ODBC DSN。打开控制面板&gt;管理工具&gt;数据源(ODBC)。请注意,在64位Windows上,这可能会打开64位管理员。但是,您需要32位管理员(%windir%\ SysWOW64 \ odbcad32.exe)。
然后,您可以将SQL-Server表链接到您的访问数据库。在“链接表”对话框中,选择“ODBC数据库()”作为文件类型。
然后,您可以将链接的SQL Server表视为访问表。
请参阅Configure Microsoft Access Linked Tables with a SQL Server Database