SQL连接到其它对象(OpenRowSet的应用)

时间:2021-02-02 18:08:16

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'

 

  AHDR ( HeaDer Row )设置

 

  若指定值为Yes代表 Excel 档中的工作表第一行是栏位名称

 

  若指定值為 No代表 Excel 档中的工作表第一行就是資料了沒有栏位名称

 

  BIMEX ( 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