视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sqlserverOpenRowSet对应的三种数据库驱动
2020-11-09 07:40:23 责编:小采
文档


在使用sqlserver数据库的OpenRowSet函数时,会遇到三种驱动方式: 1. MSDASQL驱动 SELECT TOP 10 * FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=xxx;UID=xx;PWD=xxx;', 'select * from AdventureWorks.HumanResources.Employee') 2. SQLNCLI驱

在使用sqlserver数据库的OpenRowSet函数时,会遇到三种驱动方式:

1. MSDASQL驱动
SELECT TOP 10 *
FROM OPENROWSET('MSDASQL', 'DRIVER={SQL Server};SERVER=xxx;UID=xx;PWD=xxx;', 'select * from AdventureWorks.HumanResources.Employee')

2. SQLNCLI驱动
SELECT TOP 10 *
FROM OPENROWSET('SQLNCLI', 'SERVER=xxx;UID=xx;PWD=xxxxx;', 'select * from AdventureWorks.HumanResources.Employee')

3. SQLOLEDB驱动
SELECT TOP 10 *
FROM OpenRowSet('SQLOLEDB', 'xxx'; 'xx'; 'xxx', AdventureWorks.HumanResources.Employee)

先看一下定义

MSDASQL:Microsoft OLE DB Provider for ODBC Drivers

允许在 OLEDB 和 ADO(它在内部使用 OLEDB)上构建的应用程序通过 ODBC 驱动程序访问数据源的技术。
MSDASQL 是用于连接到 ODBC(而不是数据库)的 OLEDB 访问接口。

SQLOLEDB :Microsoft OLE DB Provider for SQL Server,可以看出来SQLOLEDB是连接到数据库sqlserver,而不是ODBC驱动

SQLNCLI10(SQLNCLI):SQL Server Native Client 10.0

SQL Server Native Client的定义:

SQL Server Native Client 是在 SQL Server 2005 中引入的用于 OLE DB 和 ODBC 的数据访问应用程序编程接口 (API)。SQL Server Native Client 将 SQL OLE DB 访问接口和 SQL ODBC 驱动程序组合成一个本机动态链接库 (DLL)。为了利用在 SQL Server 2005以及以上的版本的新功能,比如多个活动结果集 (MARS)、查询通知、用户定义类型 (UDT) 或新的 xml 数据类型,那些使用 ActiveX Data Objects (ADO) 的现有应用程序应当使用 SQL Server Native Client OLE DB 访问接口作为其数据访问接口。

如果不需要使用在 SQL Server 2005 及其以后的版本中引入的任何新功能,则不需要使用 SQL Server Native Client OLE DB 访问接口;您可以继续使用当前数据访问接口(通常是 SQLOLEDB)。如果要增强现有应用程序的功能,并且需要使用在 SQL Server 2005 及其以后的版本中引入的新功能,则应当使用 SQL Server Native Client OLE DB 访问接口。

附上 OPENROWSET 语法格式

OPENROWSET 
( { 'provider_name' , { 'datasource' ; 'user_id' ; 'password' 
 | 'provider_string' } 
 , { [ catalog. ] [ schema. ] object 
 | 'query' 
 } 
 | BULK 'data_file' , 
 { FORMATFILE = 'format_file_path' [  ]
 | SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} ) 

 ::=
 [ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ] 
 [ , ERRORFILE = 'file_name' ]
 [ , FIRSTROW = first_row ] 
 [ , LASTROW = last_row ] 
 [ , MAXERRORS = maximum_errors ] 
 [ , ROWS_PER_BATCH = rows_per_batch ] 

[ , ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) [ UNIQUE ]

参照:http://www.cnblogs.com/w-y-f/archive/2012/05/07/2488474.html

下载本文
显示全文
专题