您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

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

添加时间:2012-4-16  添加: admin 

由于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 代码中调用链接服务器。


关键词:查询  存储

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站