连接字符串格式和属性

重要

此功能将在将来的 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 选项卡中指定的属性。 属性值可能区分大小写。

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

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

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

驱动程序优化提取,以便一个从 Oracle Server 提取的行返回足够的行来填充此大小的缓冲区。 如果提取大量数据,较大的值往往会提高性能。
65535
SYNONYMCOLUMNS 如果此值为 true(1),则 SQLColumn() API 调用将返回列信息。 否则,SQLColumn() 仅返回表和视图的列。 如果未设置此值,ODBC Driver for Oracle 可提供更快的访问。 1
言论 如果此值为 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 数据源的连接字符串如下所示。 将 <password> 替换为有效的密码。

"DSN={MyDataSource};UID={MyUserID};PWD=<password>;SERVER={MyOracleServer}"  

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

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