摘自:http://blog.csdn.net/htl258/archive/2009/02/21/3912768.aspx

如果是连接同一台服务器不同数据库用dbname.dbo.tablename即可。

例如:有两个数据库dba, dbb, dba有表a, dbb有表b, 选取表a中和表b有相同id的所有内容的sql语句是:

SELECT * FROM dba.dbo.a WHERE id IN (SELECT id from dbb.dbo.b)

 

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 档案可同时支援“读取”与“写入”用途。 

posted on 2010-09-04 16:20  飞翔-方向 积累 沉淀  阅读(331)  评论(0)    收藏  举报