Microsoft OLE DB Provider for SQL Server

适用于:Access 2013、Office 2013

Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 允许 ADO 访问 Microsoft SQL Server。

连接字符串参数

若要连接到此提供程序,请将 ConnectionString 属性的 Provider 参数设置为:

 
SQLOLEDB 

也可以使用 Provider 属性设置或读取此值。

典型的连接字符串

此提供程序典型的连接字符串为:

 
"Provider=SQLOLEDB;Data Source=serverName;" 
Initial Catalog=databaseName; 
User ID=userName;Password=userPassword;" 

该字符串由以下关键字组成:

关键字

说明

Provider

指定 OLE DB Provider for SQL Server。

Data SourceServer

指定服务器的名称。

Initial CatalogDatabase

指定服务器上的数据库的名称。

User IDuid

指定用户名(用于 SQL Server 身份验证)。

Passwordpwd

指定用户密码(用于 SQL Server 身份验证)。

提供程序特定的连接参数

除了支持 ADO 定义的那些参数以外,该提供程序还支持几个提供程序特定的连接参数。 与 ADO 连接属性一样,可以通过 ConnectionProperties 集合或将其作为 ConnectionString 的一部分来设置这些提供程序特定的属性。

参数

说明

Trusted_Connection

Indicates the user authentication mode. This can be set to Yes or No. The default value is No. If this property is set to Yes, then SQLOLEDB uses Microsoft Windows NT Authentication Mode to authorize user access to the SQL Server database specified by the Location and Datasource property values. If this property is set to No, then SQLOLEDB uses Mixed Mode to authorize user access to the SQL Server database. The SQL Server login and password are specified in the User Id and Password properties.

Current Language

指示 SQL Server 语言名称。 标识用于选择和设置系统消息格式的语言。 必须在 SQL Server 上安装该语言,否则打开连接时就会失败。

Network Address

指示通过 Location 属性指定的 SQL Server 的网络地址。

Network Library

指示用于与 SQL Server 进行通信的网络库(动态链接库)的名称。 此名称不应包括路径或 .dll 文件扩展名。 默认值由 SQL Server 客户端配置提供。

Use Procedure for Prepare

确定在准备(通过 Prepared 属性)Command 时,SQL Server 是否创建临时的存储过程。

Auto Translate

Indicates whether OEM/ANSI characters are converted. This property can be set to True or False. The default value is True. If this property is set to True, then SQLOLEDB performs OEM/ANSI character conversion when multi-byte character strings are retrieved from, or sent to, the SQL Server. If this property is set to False, then SQLOLEDB does not perform OEM/ANSI character conversion on multi-byte character string data.

Packet Size

指示网络数据包的大小(以字节为单位)。 数据包大小属性值必须介于 512 与 32767 之间。 默认的 SQLOLEDB 网络数据包大小为 4096。

Application Name

指示客户端应用程序名称。

Workstation ID

标识工作站的字符串。

Command 对象用法

SQLOLEDB 接受 ODBC、ANSI 以及 SQL Server 特定 Transact-SQL 的混合形式作为有效语法。 例如,以下 SQL 语句使用 ODBC SQL 转义序列指定 LCASE 字符串函数:

 
SELECT customerid={fn LCASE(CustomerID)} FROM Customers 

LCASE 将返回一个字符串,且将所有的大写字符都转换为小写字符等效项。 ANSI SQL 字符串函数 LOWER 执行相同的操作,因此,以下 SQL 语句是与上面显示的 ODBC 语句等效的 ANSI 语句:

 
SELECT customerid=LOWER(CustomerID) FROM Customers 

SQLOLEDB 将成功处理指定为命令文本的这两种语句形式。

存储过程

使用 SQLOLEDB 命令执行 SQL Server 存储过程时,请在该命令文本中使用 ODBC 过程调用转义序列。 随后,SQLOLEDB 将使用 SQL Server DE 的远程过程调用机制来优化命令处理。 例如,以下 ODBC SQL 语句优于 Transact-SQL 形式的命令文本:

ODBC SQL

 
{call SalesByCategory('Produce', '1995')} 

Transact-SQL

 
EXECUTE SalesByCategory 'Produce', '1995' 

Recordset 行为

SQLOLEDB 无法使用 SQL Server 游标来支持通过许多命令生成的多个结果。 如果用户请求需要 SQL Server 游标支持的记录集,则当使用的命令文本生成多个记录集作为结果时,将会发生错误。

SQL Server 游标支持可滚动的 SQLOLEDB 记录集。 SQL Server 将针对对数据库的其他用户所做更改敏感的游标强制施加限制。 具体来说,某些游标中的行不能进行排序,尝试使用包含 SQL ORDER BY 子句的命令创建记录集可能会失败。

动态属性

Microsoft OLE DB Provider for SQL Server 将多个动态属性插入到未打开的 ConnectionRecordsetCommand 对象的 Properties 集合中。

下面的表是每个动态属性的 ADO 和 OLE DB 名称的交叉索引。 OLE DB 程序员参考通过术语“说明”引用 ADO 属性名称。可以在 OLE DB 程序员参考中找到有关这些属性的详细信息。 请在“索引”中搜索 OLE DB 属性名,或者请参阅“附录 C:OLE DB 属性”。

Connection 动态属性

以下属性将被添加到 Connection 对象的 Properties 集合中。

ADO 属性名

OLE DB 属性名

Active Sessions

DBPROP_ACTIVESESSIONS

Asynchable Abort

DBPROP_ASYNCTXNABORT

Asynchable Commit

DBPROP_ASYNCTNXCOMMIT

Autocommit Isolation Levels

DBPROP_SESS_AUTOCOMMITISOLEVELS

Catalog Location

DBPROP_CATALOGLOCATION

Catalog Term

DBPROP_CATALOGTERM

Column Definition

DBPROP_COLUMNDEFINITION

Connect Timeout

DBPROP_INIT_TIMEOUT

Current Catalog

DBPROP_CURRENTCATALOG

Data Source

DBPROP_INIT_DATASOURCE

Data Source Name

DBPROP_DATASOURCENAME

Data Source Object Threading Model

DBPROP_DSOTHREADMODEL

DBMS Name

DBPROP_DBMSNAME

DBMS Version

DBPROP_DBMSVER

Extended Properties

DBPROP_INIT_PROVIDERSTRING

GROUP BY Support

DBPROP_GROUPBY

Heterogeneous Table Support

DBPROP_HETEROGENEOUSTABLES

Identifier Case Sensitivity

DBPROP_IDENTIFIERCASE

Initial Catalog

DBPROP_INIT_CATALOG

Isolation Levels

DBPROP_SUPPORTEDTXNISOLEVELS

Isolation Retention

DBPROP_SUPPORTEDTXNISORETAIN

Locale Identifier

DBPROP_INIT_LCID

Maximum Index Size

DBPROP_MAXINDEXSIZE

Maximum Row Size

DBPROP_MAXROWSIZE

Maximum Row Size Includes BLOB

DBPROP_MAXROWSIZEINCLUDESBLOB

Maximum Tables in SELECT

DBPROP_MAXTABLESINSELECT

Multiple Parameter Sets

DBPROP_MULTIPLEPARAMSETS

Multiple Results

DBPROP_MULTIPLERESULTS

Multiple Storage Objects

DBPROP_MULTIPLESTORAGEOBJECTS

Multi-Table Update

DBPROP_MULTITABLEUPDATE

NULL Collation Order

DBPROP_NULLCOLLATION

NULL Concatenation Behavior

DBPROP_CONCATNULLBEHAVIOR

OLE DB Version

DBPROP_PROVIDEROLEDBVER

OLE Object Support

DBPROP_OLEOBJECTS

Open Rowset Support

DBPROP_OPENROWSETSUPPORT

ORDER BY Columns in Select List

DBPROP_ORDERBYCOLUMNSINSELECT

Output Parameter Availability

DBPROP_OUTPUTPARAMETERAVAILABILITY

Pass By Ref Accessors

DBPROP_BYREFACCESSORS

Password

DBPROP_AUTH_PASSWORD

Persist Security Info

DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO

Persistent ID Type

DBPROP_PERSISTENTIDTYPE

Prepare Abort Behavior

DBPROP_PREPAREABORTBEHAVIOR

Prepare Commit Behavior

DBPROP_PREPARECOMMITBEHAVIOR

Procedure Term

DBPROP_PROCEDURETERM

Prompt

DBPROP_INIT_PROMPT

Provider Friendly Name

DBPROP_PROVIDERFRIENDLYNAME

Provider Name

DBPROP_PROVIDERFILENAME

Provider Version

DBPROP_PROVIDERVER

Read-Only Data Source

DBPROP_DATASOURCEREADONLY

Rowset Conversions on Command

DBPROP_ROWSETCONVERSIONSONCOMMAND

Schema Term

DBPROP_SCHEMATERM

Schema Usage

DBPROP_SCHEMAUSAGE

SQL Support

DBPROP_SQLSUPPORT

Structured Storage

DBPROP_STRUCTUREDSTORAGE

Subquery Support

DBPROP_SUBQUERIES

Table Term

DBPROP_TABLETERM

Transaction DDL

DBPROP_SUPPORTEDTXNDDL

User ID

DBPROP_AUTH_USERID

User Name

DBPROP_USERNAME

Window Handle

DBPROP_INIT_HWND

Recordset 动态属性

以下属性将被添加到 Recordset 对象的 Properties 集合中。

ADO 属性名

OLE DB 属性名

Access Order

DBPROP_ACCESSORDER

Blocking Storage Objects

DBPROP_BLOCKINGSTORAGEOBJECTS

Bookmark Type

DBPROP_BOOKMARKTYPE

Bookmarkable

DBPROP_IROWSETLOCATE

Change Inserted Rows

DBPROP_CHANGEINSERTEDROWS

Column Privileges

DBPROP_COLUMNRESTRICT

Column Set Notification

DBPROP_NOTIFYCOLUMNSET

Command Time Out

DBPROP_COMMANDTIMEOUT

Defer Column

DBPROP_DEFERRED

Delay Storage Object Updates

DBPROP_DELAYSTORAGEOBJECTS

Fetch Backwards

DBPROP_CANFETCHBACKWARDS

Hold Rows

DBPROP_CANHOLDROWS

IAccessor

DBPROP_IAccessor

IColumnsInfo

DBPROP_IColumnsInfo

IColumnsRowset

DBPROP_IColumnsRowset

IConnectionPointContainer

DBPROP_IConnectionPointContainer

IConvertType

DBPROP_IConvertType

Immobile Rows

DBPROP_IMMOBILEROWS

IRowset

DBPROP_IRowset

IRowsetChange

DBPROP_IRowsetChange

IRowsetIdentity

DBPROP_IRowsetIdentity

IRowsetInfo

DBPROP_IRowsetInfo

IRowsetLocate

DBPROP_IRowsestLocate

IRowsetResynch

IRowsetScroll

DBPROP_IRowsetScroll

IRowsetUpdate

DBPROP_IRowsetUpdate

ISequentialStream

DBPROP_ISequentialStream

ISupportErrorInfo

DBPROP_ISupportErrorInfo

Literal Bookmarks

DBPROP_LITERALBOOKMARKS

Literal Row Identity

DBPROP_LITERALIDENTITY

Maximum Open Rows

DBPROP_MAXOPENROWS

Maximum Pending Rows

DBPROP_MAXPENDINGROWS

Maximum Rows

DBPROP_MAXROWS

Notification Granularity

DBPROP_NOTIFICATIONGRANULARITY

Notification Phases

DBPROP_NOTIFICATIONPHASES

Objects Transacted

DBPROP_TRANSACTEDOBJECT

Others' Changes Visible

DBPROP_OTHERUPDATEDELETE

Others' Inserts Visible

DBPROP_OTHERINSERT

Own Changes Visible

DBPROP_OWNUPDATEDELETE

Own Inserts Visible

DBPROP_OWNINSERT

Preserve on Abort

DBPROP_ABORTPRESERVE

Preserve on Commit

DBPROP_COMMITPRESERVE

Quick Restart

DBPROP_QUICKRESTART

Reentrant Events

DBPROP_REENTRANTEVENTS

Remove Deleted Rows

DBPROP_REMOVEDELETED

Report Multiple Changes

DBPROP_REPORTMULTIPLECHANGES

Return Pending Inserts

DBPROP_RETURNPENDINGINSERTS

Row Delete Notification

DBPROP_NOTIFYROWDELETE

Row First Change Notification

DBPROP_NOTIFYROWFIRSTCHANGE

Row Insert Notification

DBPROP_NOTIFYROWINSERT

Row Privileges

DBPROP_ROWRESTRICT

Row Resynchronization Notification

DBPROP_NOTIFYROWRESYNCH

Row Threading Model

DBPROP_ROWTHREADMODEL

Row Undo Change Notification

DBPROP_NOTIFYROWUNDOCHANGE

Row Undo Delete Notification

DBPROP_NOTIFYROWUNDODELETE

Row Undo Insert Notification

DBPROP_NOTIFYROWUNDOINSERT

Row Update Notification

DBPROP_NOTIFYROWUPDATE

Rowset Fetch Position Change Notification

DBPROP_NOTIFYROWSETFETCHPOSISIONCHANGE

Rowset Release Notification

DBPROP_NOTIFYROWSETRELEASE

Scroll Backwards

DBPROP_CANSCROLLBACKWARDS

Server Cursor

DBPROP_SERVERCURSOR

Skip Deleted Bookmarks

DBPROP_BOOKMARKSKIPPED

Strong Row Identity

DBPROP_STRONGITDENTITY

Unique Rows

DBPROP_UNIQUEROWS

Updatability

DBPROP_UPDATABILITY

Use Bookmarks

DBPROP_BOOKMARKS

Command 动态属性

以下属性将被添加到 Command 对象的 Properties 集合中。

ADO 属性名

OLE DB 属性名

Access Order

DBPROP_ACCESSORDER

Base Path

SSPROP_STREAM_BASEPATH

Blocking Storage Objects

DBPROP_BLOCKINGSTORAGEOBJECTS

Bookmark Type

DBPROP_BOOKMARKTYPE

Bookmarkable

DBPROP_IROWSETLOCATE

Change Inserted Rows

DBPROP_CHANGEINSERTEDROWS

Column Privileges

DBPROP_COLUMNRESTRICT

Column Set Notification

DBPROP_NOTIFYCOLUMNSET

Content Type

SSPROP_STREAM_CONTENTTYPE

Cursor Auto Fetch

SSPROP_CURSORAUTOFETCH

Defer Column

DBPROP_DEFERRED

Defer Prepare

SSPROP_DEFERPREPARE

Delay Storage Object Updates

DBPROP_DELAYSTORAGEOBJECTS

Fetch Backwards

DBPROP_CANFETCHBACKWARDS

Hold Rows

DBPROP_CANHOLDROWS

IAccessor

DBPROP_IAccessor

IColumnsInfo

DBPROP_IColumnsInfo

IColumnsRowset

DBPROP_IColumnsRowset

IConnectionPointContainer

DBPROP_IConnectionPointContainer

IConvertType

DBPROP_IConvertType

Immobile Rows

DBPROP_IMMOBILEROWS

IRowset

DBPROP_IRowset

IRowsetChange

DBPROP_IRowsetChange

IRowsetIdentity

DBPROP_IRowsetIdentity

IRowsetInfo

DBPROP_IRowsetInfo

IRowsetLocate

DBPROP_IRowsetLocate

IRowsetResynch

DBPROP_IRowsetResynch

IRowsetScroll

DBPROP_IRowsetScroll

IRowsetUpdate

DBPROP_IRowsetUpdate

ISequentialStream

DBPROP_ISequentialStream

ISupportErrorInfo

DBPROP_ISupportErrorInfo

Literal Bookmarks

DBPROP_LITERALBOOKMARKS

Literal Row Identity

DBPROP_LITERALIDENTITY

Lock Mode

DBPROP_LOCKMODE

Maximum Open Rows

DBPROP_MAXOPENROWS

Maximum Pending Rows

DBPROP_MAXPENDINGROWS

Maximum Rows

DBPROP_MAXROWS

Notification Granularity

DBPROP_NOTIFICATIONGRANULARITY

Notification Phases

DBPROP_NOTIFICATIONPHASES

Objects Transacted

DBPROP_TRANSACTEDOBJECT

Others' Changes Visible

DBPROP_OTHERUPDATEDELETE

Others' Inserts Visible

DBPROP_OTHERINSERT

Output Encoding Property

DBPROP_OUTPUTENCODING

Output Stream Property

DBPROP_OUTPUTSTREAM

Own Changes Visible

DBPROP_OWNUPDATEDELETE

Own Inserts Visible

DBPROP_OWNINSERT

Preserve on Abort

DBPROP_ABORTPRESERVE

Preserve on Commit

DBPROP_COMMITPRESERVE

Quick Restart

DBPROP_QUICKRESTART

Reentrant Events

DBPROP_REENTRANTEVENTS

Remove Deleted Rows

DBPROP_REMOVEDELETED

Report Multiple Changes

DBPROP_REPORTMULTIPLECHANGES

Return Pending Inserts

DBPROP_RETURNPENDINGINSERTS

Row Delete Notification

DBPROP_NOTIFYROWDELETE

Row First Change Notification

DBPROP_NOTIFYROWFIRSTCHANGE

Row Insert Notification

DBPROP_NOTIFYROWINSERT

Row Privileges

DBPROP_ROWRESTRICT

Row Resynchronization Notification

DBPROP_NOTIFYROWRESYNCH

Row Threading Model

DBPROP_ROWTHREADMODEL

Row Undo Change Notification

DBPROP_NOTIFYROWUNDOCHANGE

Row Undo Delete Notification

DBPROP_NOTIFYROWUNDODELETE

Row Undo Insert Notification

DBPROP_NOTIFYROWUNDOINSERT

Row Update Notification

DBPROP_NOTIFYROWUPDATE

Rowset Fetch Position Change Notification

DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE

Rowset Release Notification

DBPROP_NOTIFYROWSETRELEASE

Scroll Backwards

DBPROP_CANSCROLLBACKWARDS

Server Cursor

DBPROP_SERVERCURSOR

Server Data on Insert

DBPROP_SERVERDATAONINSERT

Skip Deleted Bookmarks

DBPROP_BOOKMARKSKIP

Strong Row Identity

DBPROP_STRONGIDENTITY

Updatability

DBPROP_UPDATABILITY

Use Bookmarks

DBPROP_BOOKMARKS

XML Root

SSPROP_STREAM_XMLROOT

XSL

SSPROP_STREAM_XSL

有关具体的实现详细信息以及有关 Microsoft SQL Server OLE DB Provider 的功能信息,请参阅 MDAC SDK 的"OLE DB"一节中的"OLE DB Provider for SQL Server"文档。