本文主要介绍通过SQL Server2005连接Excel和Access,然后访问Excel工作簿中的内容及Access本地数据库中的表内容的方法:
一.SQL Server2005如何访问Excel文件中的数据?
1.运行"开始 / 程序 / Microsoft SQL Server 2005 / SQL Server Management Studio",在打开的窗口中选择左侧对象资源管理器下的"<数据库实例名>/服务器对象/链接服务器"结点.
2.鼠标右键单击"链接服务器"结点,在弹出的菜单中选择"新建链接服务器"菜单,在打开的"新建链接服务器"对话框进行如下配置:
链接服务器(N)-------->Excel 注:此名称根据个人爱好随便填写
访问接口(P)------------>Microsoft Jet 4.0 OLE DB Provider
产口名称(U)------------>Excel
数据源(D)---------------->F:/Excel文件集合/成本.xls 注:excel文件所在的路径
访问接口字符串-------->Excel 8.0
如图所示:
设置完成后单击"确定"按钮进行保存操作.
3.通过刚刚建立的名为"Excel"的链接服务名访问Excel文件中的工作簿的内容
SELECT * FROM excel...sheet1$ --excel为链接服务器名 sheet1$为要访问的工作表名 $符合不可缺少
二、如何通过SQL Server2005访问Access本地库中的数据表内容(视图同理)?
*****************图形界面设置*****************************************************************
1.运行"开始 / 程序 / Microsoft SQL Server 2005 / SQL Server Management Studio",在打开的窗口中选择左侧对象资源管理器下的"<数据库实例名>/服务器对象/链接服务器"结点.
2.鼠标右键单击"链接服务器"结点,在弹出的菜单中选择"新建链接服务器"菜单,在打开的"新建链接服务器"对话框进行如下配置:
链接服务器(N)-------->AccessServer 注:此名称根据个人爱好随便填写
访问接口(P)------------>Microsoft Jet 4.0 OLE DB Provider
产口名称(U)------------>Access
数据源(D)---------------->F:/shengchan.mdb 注:您要访问的Access文件的绝对路径
如图所示:
确定填写没问题后,单击“确定”按钮进行保存操作.
3.通过刚刚定义的Access链接服务器访问库中的表
SELECT * FROM AccessServer...Role --AccessServer为链接服务器的名称 Role为Access库中的表
******************************使用命令或者存储过程创建**********************************
Web 开发中,经常要用到 Access 数据库。但是由于 Access 是一种文件型数据库,所以无法跨服务器进行访问。经过笔者的探索,发现可以利用 SQL Server 的链接服务器,把地理上分散的 Access 数据库整合起来,使 Access 数据库具有跨越 Web 服务器群的能力。这样做,还可以使 Access 数据库与 SQL Server,甚至 Oracle 等网络数据库连接起来,实现异构数据库的互连,从而执行分布式的查询、更新、命令和事务。
一、创建链接服务器,连接本地 Access 数据库
创建链接服务器可以用“SQL Server Management Studio”,也可以执行系统存储过程 sp_addlinkedserver 来完成。用系统存储过程相对快捷一些,格式为: