A. 将 OPENROWSET 与 SELECT 语句及用于 SQL Server 的 Microsoft OLE DB 提供程序一起使用
USE pubs
GO
SELECT a.*
FROM OPENROWSET('SQLOLEDB','192.168.0.18';'sa';'123', --IP地址或计算机名
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a
GO
B. 将 OPENROWSET 与对象及用于 ODBC 的 OLE DB 提供程序一起使用
USE pubs
GO
SELECT a.*
FROM OPENROWSET('MSDASQL',
'DRIVER={SQL Server};SERVER=192.168.20.18;UID=sa;PWD=123',
pubs.dbo.authors) AS a
ORDER BY a.au_lname, a.au_fname
GO
C. 使用用于 Jet 的 Microsoft OLE DB 提供程序
下面的示例通过用于 Jet 的 Microsoft OLE DB 提供程序访问 Microsoft Access Northwind 数据库中的 orders 表。
说明 下面的示例假定已经安装了 Access。
USE pubs
GO
SELECT a.*
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:/MSOffice/Access/Samples/northwind.mdb';'admin';'mypwd', Orders)
AS a
GO
取EXCEL文件的数据:
USE pubs
GO
SELECT a.*
FROM openrowset('Microsoft.Jet.OLEDB.4.0','Excel 8.0;hdr=Yes;IMEX=1;DataBase=C:/盘点表.xls',盘点表$)
AS a
GO
备注:'Excel 8.0;HDR=yes;IMEX=1'
A:HDR ( HeaDer Row )设置
若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称
若指定值為 No,代表 Excel 档中的工作表第一行就是資料了,沒有栏位名称
B:IMEX ( IMport EXport mode )设置
IMEX 有三种模式,各自引起的读写行为也不同,容後再述:
is Export mode
is Import mode
is Linked mode (full update capabilities)
我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
http://www.cnblogs.com/tohen/archive/2007/05/18/751043.html