OPENDATASOURCE:
不使用链接服务器的名称,而提供特殊的连接信息,并将其作为四部分对象名的一部分。
provider_name:注册为用于访问数据源的 OLE DB 访问接口的 PROGID 的名称。provider_name 的数据类型为 char,无默认值。
-
init_string:连接字符串,该字符串将要传递给目标提供程序的
IDataInitialize 接口。提供程序字符串语法是以关键字值对为基础的,这些关键字值对由分号隔开,例如:“
keyword1=
value
;
keyword2=
value
”。
将xls表格内容select出来:
select * from opendatasource('Microsoft.Jet.OLEDB.4.0', 'Data Source=D:/Test.xls;Extended Properties=EXCEL 5.0')...[Sheet1$]
OPENROWSET与上述功能一致,只不过,它可以查询,如:
使用OpenRowSet(注意当HDR,IMEX设置不同时查询结果的差异)
1. HDR=No; IMEX=0;
SELECT * FROM OpenRowSet('MICROSOFT.JET.OLEDB.4.0', 'EXCEL 5.0; HDR=No; IMEX=0; DATABASE=D:/Test.xls', Sheet1$)
2. HDR=No; IMEX=1;
SELECT * FROM OpenRowSet('MICROSOFT.JET.OLEDB.4.0', 'EXCEL 5.0; HDR=No; IMEX=1; DATABASE=D:/Test.xls', Sheet1$)
3. HDR=Yes; IMEX=0;
SELECT * FROM OpenRowSet('MICROSOFT.JET.OLEDB.4.0', 'EXCEL 5.0; HDR=Yes; IMEX=0; DATABASE=D:/Test.xls', Sheet1$)
4. HDR=Yes; IMEX=1;
SELECT * FROM OpenRowSet('MICROSOFT.JET.OLEDB.4.0', 'EXCEL 5.0; HDR=Yes; IMEX=1; DATABASE=D:/Test.xls', Sheet1$)