SQL链接服务器访问远程Access数据库

由于Access数据库是一种文件型数据库,所以无法跨服务器进行访问。下面我们来介绍一下如何利用SQL Server 的链接服务器,把地理上分散的Access 数据库整合起来,使 Access 数据库具有跨越 Web 服务器群的能力。此方法还可以使 Access 数据库与SQL Server数据库,甚至 Oracle 等网络数据库连接起来,实现异构数据库的互连,最终执行分布式的查询、更新、命令和事务。

1.创建链接服务器,连接本地 Access 数据库


创建链接服务器可以用“企业管理器”,也可以执行系统存储过程 sp_addlinkedserver 来完成。用系统存储过程相对快捷一些,格式为:

sp_addlinkedserver '链接服务器名', '产品名', 'Microsoft.Jet.OLEDB.4.0', 'Access数据库路径及文件名'。  

指定 Microsoft.Jet.OLEDB.4.0 作为 provider_name,指定 Access 数据库文件的完整路径名作为 data_source。.mdb 数据库文件必须驻留在本地服务器上,路径必须是服务器上的有效路径。  

例如,本例创建一个名为Anna的链接服务器,对 E:\我的文档\ 文件夹下名为 DOS.mdb 的 Access 数据库进行操作,则在“SQL查询分析器”中执行: 

sp_addlinkedserver 'Anna', 'Access 2000', 'Microsoft.Jet.OLEDB.4.0', 'E:\我的文档\DOS.mdb'  
 
2.创建链接服务器登录映射

同样可以用“企业管理器”或存储过程来完成。存储过程的格式为:  

sp_addlinkedsrvlogin '链接服务器', false, 'SQLServer登录名', 'admin', NULL  

为访问非保密的 Access 数据库,试图访问 Access 数据库的 SQL Server 登录应该有一个为用户 Admin 定义的没有密码的登录映射,下例使得本地用户 sa 可以访问名为 mytest 的链接服务器:  

sp_addlinkedsrvlogin 'mytest', false, 'sa', 'admin', NULL  

要访问保密的 Access 数据库,需使用注册表编辑器配置注册表,以便使用 Access 的正确的工作组信息文件。使用注册表编辑器向该注册表项中添加 Access 使用的工作组信息文件的完整路径名称:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB 

配置了注册表项后,请使用 sp_addlinkedsrvlogin 创建从本地登录到 Access 登录的登录映射: 

sp_addlinkedsrvlogin 'mytest', false, 'sa', '[AccessUser]', '[AccessPwd]'  

链接服务器和链接服务器登录映射建立完毕,可以在企业管理器里进行查看。  

3.链接服务器的测试

可以在“SQL查询分析器”里对创建的链接服务器进行测试。由于 Access 数据库没有目录和架构名称,因此,基于 Access 的链接服务器中的表可以在分布式查询中使用 [linked_server]...[table_name] 的四部分名称进行引用。下例从名为 mytest 的链接服务器中检索 articles 表的所有行:  

Select * from mytest...articles  
或者:Select * from OpenQuery(mytest, 'Select * from .articles') 
 
4.用代码访问链接服务器的 Access 数据库

只有实现用代码访问链接服务器的 Access 数据库,才使得链接服务器发挥了最大的灵活性和实用性。可以使用三中的测试链接服务器的代码建立存储过程,供 Asp 代码调用,也可以直接在 Asp 代码中调用链接服务器。

时间: 2025-01-20 14:20:44

SQL链接服务器访问远程Access数据库的相关文章

应用 SQLServer 链接服务器访问远程 Access 数据库

access|server|sqlserver|访问|服务器|链接|数据|数据库     Web 开发中,经常要用到 Access 数据库.但是由于 Access 是一种文件型数据库,所以无法跨服务器进行访问.经过笔者的探索,发现可以利用 SQL Server 的链接服务器,把地理上分散的 Access 数据库整合起来,使 Access 数据库具有跨越 Web 服务器群的能力.这样做,还可以使 Access 数据库与 SQL Server,甚至 Oracle 等网络数据库连接起来,实现异构数据库

Spring代码通过DBCP数据库连接池访问ms access数据库的探讨

正在做一个升级项目project,project的意思就是不是application也不是platform,仅仅是一个project而已. 项目的需求之一就是对于升级前的数据,保存在access的*.mdb中的数据,继续能够访问. 我希望通过maven构建一个spring框架下的项目,那么目前的一个问题就是我的代码需要可以访问access数据库. 之前博文中,叙述了jdk8环境下java代码使用ucanaccess访问access数据库的过程. 接下来,也就是这篇博文,我希望讨论一下,在spri

如何使用SQL Server数据转换服务升迁Access数据库

本文详细介绍了如何使用SQL Server数据转换服务升迁Access数据库 开发者常常以Access作为原型或者用Access来开发不是很关键的应用程序.但是,随着公司业务的增长,要解决的问题会变得越来越复杂,Access环境可能无法满足需要.目前,Access 2002的.mdb和.adp文件都将一个数据库的长度限制在2 GB以内.这意味着几乎每个Access和SQL Server开发者最终都要将一个Access数据库升迁成一个SQL Server数据库. 由于升迁已成为极为常见的一个任务,

sqlserver-同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能

问题描述 同样SQL语句使用SQLserver跟access数据库,SQLserver可以进行增删改,而access不能 同样的SQL语句,在一SQL server做后台数据库可以实现增删改,而使用access数据库就无法实现,在未关闭自己写的程序,再次查询时,使用access数据库可以再程序中看到增删改的效果,只是在access数据库内就没有数据改动.咋么回事? 解决方案 你看连接字符串,程序操作的access文件和你打开的不是用一个文件

SQL Server链接服务器访问DB2设置步骤图解

原文 http://database.51cto.com/art/201108/283240.htm SQL Server可以使用链接服务器功能来连接其他的数据库,以实现不同数据库之间的操作.本文我们主要介绍了利用SQL Server利用链接服务器连接访问DB2数据库的操作步骤,并给出了详细的截图,接下来就让我们一起来了解一下这部分内容吧. 使用SQL SERVER的链接服务器连接DB2 1.下载安装Microsoft OLEDB Provider for DB2,SQL SERVER链接服务器

使用链接服务器执行远程数据库上的存储过程

存储过程|服务器|链接|数据|数据库|执行 --创建链接服务器exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'exec sp_serveroption 'srv_lnk','rpc out','true'  --这个允许调用链接服务器上的存储过程go declare @id intexec srv_lnk

使用SQL Server数据转换服务升迁Access数据库

开发者常常以Access作为原型或者用Access来开发不是很关键的应用程序.但是,随着公司业务的增长,要解决的问题会变得越来越复杂,Access环境可能无法满足需要.目前,Access 2002的.mdb和.adp文件都将一个数据库的长度限制在2 GB以内.这意味着几乎每个Access和SQL Server开发者最终都要将一个Access数据库升迁成一个SQL Server数据库. 由于升迁已成为极为常见的一个任务,所以Access配套提供了一个"升迁向导".它虽然能完成这个工作,但

SQL 2005 Express怎么导入ACCESS数据库?

  这篇文章主要介绍了SQL2005Express中导入ACCESS数据库的方法,需要的朋友可以参考下 方法一:单表导入 (1)打开"SQL Server 外围应用配置器"-->"功能的外围应用配置器" -->些服务默认是关闭的,若不打开,将不能进行导入操作. 在"Database Engine"下选择"即席远程查询"-->启用 openrowset 和opendatasource 支持(E) 如下图: (2

SQL Server 远程链接服务器详细配置

原文:SQL Server 远程链接服务器详细配置[转载] http://hi.baidu.com/luxi0194/blog/item/a5c2a9128a705cc6c2fd7803.html 远程链接服务器详细配置--建立连接服务器EXEC sp_addlinkedserver  '远程服务器IP','SQL Server'--标注存储EXEC sp_addlinkedserver@server = 'server', --链接服务器的本地名称.也允许使用实例名称,例如MYSERVER\S