OLE DB Provider for Jet
更新日期: 2005 年 12 月 5 日
Microsoft OLE DB Provider for Jet 提供了 Microsoft Access 数据库的 OLE DB 接口,并允许 SQL Server 2005 分布式查询对 Access 数据库和 Excel 电子表格进行查询。
创建链接服务器以访问 Access 数据库
执行 sp_addlinkedserver 以创建链接服务器,指定 Microsoft.Jet.OLEDB.4.0 作为 provider_name,并指定 Access .mdb 数据库文件的完整路径名作为 data_source。.mdb 数据库文件必须驻留在服务器上。data_source 在服务器(而不是客户端)上进行计算 ,且路径必须是服务器上的有效路径。
例如,若要创建一个名为
Nwind
的链接服务器,对c:\mydata directory
中名为Nwind.mdb
的 Access 数据库进行操作,请执行:sp_addlinkedserver 'Nwind', 'Access', 'Microsoft.Jet.OLEDB.4.0', 'c:\mydata\Nwind.mdb'
若要访问不安全的 Access 数据库,尝试访问 Access 数据库的 SQL Server 登录名应将登录映射定义为用户名 Admin,且不带密码。
下面的示例使得本地用户
Joe
可以访问名为Nwind
的链接服务器。sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'Admin', NULL
若要访问安全的 Access 数据库,请使用注册表编辑器配置注册表,以使用 Access 所用的正确的工作组信息文件。使用注册表编辑器将 Access 使用的工作组信息文件的完整路径名添加到下面的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB
配置完注册表项之后,请使用
sp_addlinkedsrvlogin
创建本地登录名到 Access 登录名的登录名映射:sp_addlinkedsrvlogin 'Nwind', false, 'Joe', 'AccessUser', '034fhd99dl'
安全说明: |
---|
此示例不使用 Windows 身份验证。密码未经加密而进行传输。在保存到磁盘的数据源定义和脚本、备份以及日志文件中可能会看到密码。在此类连接中,切勿使用管理员密码。有关特定于环境的安全指南,请联系您的网络管理员。 |
Access 数据库没有目录和架构名称。因此,在分布式查询中可以使用由四部分构成的 linked_server**...**table_name 形式的名称来引用基于 Access 的链接服务器中的表。
下面的示例检索名为 Nwind
的链接服务器中的 Employees
表中的所有行。
SELECT *
FROM Nwind...Employees
创建链接服务器以访问 Excel 电子表格
Microsoft OLE DB Provider for Jet 4.0 可用于访问 Microsoft Excel 电子表格。
若要创建访问 Excel 电子表格的链接服务器,请使用下面示例的格式:
EXEC sp_addlinkedserver EXCEL, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\data\MySheet.xls', NULL, 'Excel 5.0;' GO
若要访问 Excel 电子表格中的数据,请将单元范围与名称相关联。可以通过将范围名称用作表名来访问命名范围。通过在上面的示例中创建的链接服务器,可以使用下面的查询访问名为
SalesData
的命名范围。SELECT * FROM EXCEL...SalesData GO
将某行插入命名单元范围时,该行将添加到命名单元范围的最后一行之后。因此,如果要在列标题后插入行 rA,请将列标题单元与名称相关联,并将该名称用作为表名。插入行后,单元范围将自动增长。
创建链接服务器以访问格式化文本文件
Microsoft OLE DB Provider for Jet 可用于访问和查询文本文件。
若要创建直接访问文本文件的链接服务器,而不将文件链接为 Access .mdb 文件中的表,请执行
sp_addlinkedserver
,如下面的示例所示。访问接口为
Microsoft.Jet.OLEDB.4.0
,访问接口字符串为'Text'
。数据源是包含文本文件的目录的完整路径名称。Schema.ini 文件必须与文本文件位于同一目录中。Schema.ini 文件说明文本文件的结构。有关如何创建 Schema.ini 文件的详细信息,请参阅 Jet 数据库引擎文档。--Create a linked server. EXEC sp_addlinkedserver txtsrv, 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\data\distqry', NULL, 'Text' GO --Set up login mappings. EXEC sp_addlinkedsrvlogin txtsrv, FALSE, NULL, Admin, NULL GO --List the tables in the linked server. EXEC sp_tables_ex txtsrv GO --Query one of the tables: file1#txt --by using a four-part name. SELECT * FROM txtsrv...[file1#txt]
请参阅
概念
与 SQL Server 一起测试过的 OLE DB 访问接口
分布式查询
其他资源
sp_addlinkedserver (Transact-SQL)
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|