连接字符串格式和属性

重要

Windows 的未来版本中将移除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 Oracle 提供的 ODBC 驱动程序。

某些应用程序可能需要指定数据源连接信息的连接字符串,而不是使用对话框。 连接字符串由多个属性组成,这些属性指定驱动程序如何连接到数据源。 属性标识驱动程序在建立适当的数据源连接之前需要知道的特定信息片段。 每个驱动程序可能都有一组不同的属性,但连接字符串格式始终相同。 连接字符串具有以下格式:

"DSN=data-source-name[;SERVER=value] [;PWD=value] [;UID=value] [;<Attribute>=<value>]"  

注意

Microsoft ODBC Driver for Oracle 支持第一个版本的驱动程序的连接字符串格式,该版本使用 CONNECTSTRING= 而不是 SERVER=

如果要连接到支持Windows 身份验证的数据源提供程序,则应在连接字符串中指定Trusted_Connection=yes而不是用户 ID 和密码信息。

如果未指定 UID、PWD、SERVER (或 CONNECTSTRING) 和 DRIVER 属性,则必须指定数据源名称。 但是,所有其他属性都是可选的。 如果未指定属性,该属性默认为“ ODBC 数据源管理员 ”对话框的相关 DSN 选项卡中指定的属性。 属性值可能区分大小写。

连接字符串的属性如下所示:

Attribute 说明 默认值
DSN ODBC 数据源管理员 ”对话框的“驱动程序”选项卡中列出的数据源名称。 ""
PWD 要访问的 Oracle 服务器的密码。 此驱动程序支持 Oracle 对密码的限制。 ""
SERVER 要访问的 Oracle 服务器的连接字符串。 ""
UID Oracle Server 用户名。 根据系统的不同,此属性可能不是可选的 ,也就是说,出于安全目的,某些数据库和表可能需要此属性。

使用“/”使用 Oracle 的操作系统身份验证。
""
BUFFERSIZE 提取列时使用的最佳缓冲区大小。

驱动程序优化提取,以便从 Oracle Server 提取的一个提取将返回足够的行来填充此大小的缓冲区。 如果提取大量数据,则较大的值往往会提高性能。
65535
SYNONYMCOLUMNS 如果此值为 true (1) ,则 SQLColumn ( ) API 调用将返回列信息。 否则,SQLColumn ( ) 仅返回表和视图的列。 未设置此值时,ODBC Driver for Oracle 提供更快的访问速度。 1
REMARKS 如果此值为 true (1) ,驱动程序将返回 SQLColumns 结果集的“备注”列。 未设置此值时,ODBC Driver for Oracle 提供更快的访问速度。 0
StdDayOfWeek 对 DAYOFWEEK 标量强制实施 ODBC 标准。 默认情况下,此功能处于打开状态,但需要本地化版本的用户可以更改行为以使用 Oracle 返回的任何内容。 1
GuessTheColDef 指定驱动程序是否应为 SQLDescribeColcbColDef 参数返回非零值。 仅适用于没有 Oracle 定义的小数位数的列,例如计算的数值列和定义为 NUMBER 且没有精度或小数位数的列。 当 Oracle 不提供该信息时, SQLDescribeCol 调用返回 130 的精度。 0

例如,使用 MyOracleServerOracle 服务器和 Oracle 用户 MyUserID 连接到 MyDataSource 数据源的连接字符串将为:

"DSN={MyDataSource};UID={MyUserID};PWD={MyPassword};SERVER={MyOracleServer}"  

使用操作系统身份验证和 MyOtherOracleServerOracle 服务器连接到 MyOtherDataSource 数据源的连接字符串将是:

"DSN=MyOtherDataSource;UID=/;PWD=;SERVER=MyOtherOracleServer"