访问外部数据时,opendatasource的使用范例:
注意:sql2000默认是启用opendatasource功能的。但sql2005是默认不启用的。如果在sql2005中要使用opendatasource,则需要先开启。
开启方式:
方式一(手工修改sql配置):在sql2005的配置工具-》sql server外围应用配置器-》即席远程查询-》勾选"启用OpenRowset和OpenDatasource支持"选项。
方式二(通过sql语句修改配置):
-- 允许配置高级选项
EXEC sp_configure 'show advanced options', 1
GO
-- 重新配置
RECONFIGURE
GO
-- 启用Ad Hoc Distributed Queries
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
--重新配置
RECONFIGURE
GO
--使用sql语句查询excel表单数据
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source=d:/log.xls;User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
/*
说明:
Microsoft.Jet.OLEDB.4.0:数据库提供程序,连接驱动
Data Source:excel的路径
User ID:excel用户名,默认为Admin
Password:密码。默认为空
Extended properties:excel版本
[Sheet1$]:Sheet1表单名称
*/
--将查询结果插入其他表中(注意字段个数必须一致,并且一一对应)
insert into 表名(字段1,字段2,字段3,字段4)
select 人员,时间,内容,结果 from OpenDataSource('Microsoft.Jet.OLEDB.4.0',
'Data Source=d:/log.xls;User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]