iAnywhere Solutions ODBC Driver for Sybase Adaptive Server Enterprise
如果应用程序要求使用连接字符串连接到数据源,则必须指定数据源名称,告诉驱动程序使用系统信息中的哪一部分作为缺省连接信息。或者,也可以在连接字符串中指定 attribute=value 对,替换在系统信息中存储的缺省值。不会将这些值写入系统信息中。
可以在连接字符串中指定长名称或短名称。连接字符串的格式为:
DSN=data_source_name[;attribute=value[;attribute=value]...]
Adaptive Server Enterprise 的连接字符串的示例如下:
DSN=SYS11 TABLES;SRVR=QESRVR;DB=PAYROLL;UID=JOHN;PWD=XYZZY
下表给出了每个属性的长名称和短名称以及说明。要在 UNIX 环境中配置数据源,您必须编辑系统信息文件。此文件只接受属性的长名称。
有关编辑此文件的信息,请参见 UNIX 快速入门。
如果在连接字符串或系统信息内的数据源定义中未指定任何值,则使用表中列出的初始缺省值。如果在配置数据源时指定了该属性的值,则将该值作为缺省值。
大多数设置可保留其缺省值。有关使用 MobiLink 时的关键驱动程序设置的列表,请参见 MobiLink 和 Adaptive Server Enterprise 的关键设置。
| 属性 | 说明 |
|---|---|
| AppCodePage (ACP) | AppCodePage 已由 IANAAppCodePage (IACP) 替代。请参见以下内容。 |
| ApplicationName (APP) | Sybase 用于标识应用程序的名称。 |
| ApplicationUsingThreads (AUT) |
ApplicationUsingThreads={0|1}。确保该驱动程序可在多线程应用程序中正常工作。
在设置为 1(初始缺省值)时,该驱动程序是线程安全的。 在单线程应用程序中使用该驱动程序时,可将此选项设置为 0,以避免 ODBC 线程安全标准所需要的额外处理。 |
| ArraySize (AS) |
驱动程序从服务器检索时一次读取的行数。这不是提供给用户的行数。它可以减少网络通信量,从而提高性能。
初始缺省值为 50 行。 |
| Charset (CS) | 字符集的名称。此字符集必须安装在 Sybase 服务器上。缺省值为 Sybase 服务器上的设置。要使此驱动程序支持 Unicode,必须将该属性设置为 UTF-8。有关有效字符集名称的列表,请参见 Sybase 服务器文档。 |
| CursorCacheSize (CCS) |
连接高速缓存可以容纳的连接数。若要设置连接高速缓存,必须将 SelectMethod attribute 设置为 1。增加连接高速缓存可以提高一些应用程序的性能,但需要额外的数据库资源。
初始缺省值为 1(一个游标)。 |
| Database (DB) | 要连接到的数据库的名称。 |
| DataSourceName (DSN) | 标识与 Sybase 数据库的单一连接的字符串。示例包括"Accounting"或"Sys10-Serv1"。 |
| DefaultLongDataBuffLen (DLDBL) |
一个大小为 1024 字节的倍数的整数值,用于指定从 TEXT 或 IMAGE 列读取的数据的最大长度。如果任何长数据的总大小超过 1 MB,则需要增大此值。
缺省值为 1024。 |
| DistributedTransactionModel (DTM) |
DistributedTransactionModel={XA Protocol0 21| Native OLE}。决定分布式事务支持使用的模型。初始缺省值为 XA Protocol。
请将此选项保留为缺省设置。 |
| EnableDescribeParam (EDP) |
EnableDescribeParam={0|1}。决定是否启用 ODBC API 函数 SQLDescribeParam。
设置为 0(初始缺省值)时,禁用 SQLDescribeParam。 设置为 1 时,启用 SQLDescribeParam,此时允许应用程序在 SQL 语句和存储过程调用中描述参数。若要使用此选项,必须将 OptimizePrepare 设置为 0 或 1,并且 SQL 语句一定不能包含长参数。使用 Microsoft Remote Data Objects (RDO) 访问数据时,应将此属性设置为 1。 |
| EnableQuotedIdentifiers (EQI) |
EnableQuotedIdentifiers={0|1}。启用以引号括起来的标识符。
设置为 0(初始缺省值)时,禁用以引号括起来的标识符。 设置为 1 时,启用以引号括起来的标识符。 |
| FailoverNetworkAddress (FNA) |
指定在发生连接丢失时所使用的高可用性 (HA) 故障切换服务器的地址。驱动程序会检测删除的连接,并自动重新连接到此属性指定的 HA 故障切换服务器。此属性仅对启用了高可用性故障切换功能的 Sybase 版本 12 或更高版本的服务器有效。
有关有效值的说明,请参见 NetworkAddress 属性的说明。 |
| IANAAppCodePage (IACP) |
IANAAppCodePage 连接字符串属性的值中列出了此属性的有效值。指定的代码页必须与应用程序使用的代码页相同。UNIX 上的驱动程序通过按照以下顺序检查 IANAAppCodePage 的值来确定应用程序代码页的值:
注意:IANAAppCodePage 连接字符串属性替代了 Connect for ODBC 早期版本中的 AppCodePage 连接字符串属性。驱动程序向后兼容 AppCodePage 属性,但您现在必须使用 IANAAppCodePage 属性。 |
| InitializationString (IS) |
InitializationString={Sybase set commands;...}。支持在连接时执行 Sybase 命令。多个命令之间必须以分号分隔。
|
| InterfacesFile (IF) | 指定接口文件的路径名。如果不为此属性指定值,但为 Interfaces File Server Name 属性指定值,驱动程序会在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\DataDirect\InterfacesFile 下查找接口文件的路径名。如果此注册表项的值为空,驱动程序将尝试打开在驱动程序所在的同一目录下找到的 SQL.INI 文件,并将其用作接口文件。 |
| InterfacesFileServerName (IFSN) | 指定接口文件中包含要访问的 Sybase 服务器的网络连接信息的部分的名称。此部分名称通常为包含要访问的 Sybase Server 的服务器的主机名。 |
| Language (LANG) |
本国语言。必须在 Sybase 服务器上安装此语言。
初始缺省值为 English。 |
| LogonID (UID) | 用于连接到 Sybase 数据库的缺省登录 ID。此 ID 区分大小写。只有在数据库上启用了安全机制的情况下,才需要登录 ID。如果是这样,请与您的系统管理员联系以获取您的登录 ID。 |
| NetworkAddress (NA) |
网络地址取决于在 [Network Library Name] 字段和 Sybase 服务器上选择的网络协议。如果选择的是 Winsock,则可按如下方式指定 IP 地址:"servername-or-IP-address, port-number"。例如,如果网络支持命名的服务器,可以指定类似"Sybaseserver, 5000"这样的地址。也可以将 IP 地址直接指定为类似"199.226.224.34, 5000"这样的地址。
如果选择了 NamedPipes 作为网络协议,则必须指定服务器的管道地址。例如,"\\machine1\sybase\pipe\query"。 |
| NetworkLibraryName (NLM) |
NetworkLibraryName={Winsock|NamedPipes}。网络库的名称。它指定所使用的网络协议。
初始缺省值为 Winsock。 此选项对 UNIX 无影响。在 UNIX 上,使用的是 TCP/IP。 |
| OptimizePrepare (OP) |
OptimizePrepare={0|1|2|3}。决定是否在服务器上为调用 SQLPrepare 创建存储过程。
用于 MobiLink 时,请将此参数设置为 2。 设置为 0 时,将为对 SQLPrepare 的每个调用创建存储过程。在处理不包含参数的语句时,此设置会导致性能下降。 设置为 1(初始缺省值)时,驱动程序仅在语句包含参数时才创建存储过程。不过,语句会放在高速缓存中,且会在运行 SQLExecute 时直接执行。 如果设置为 2,则永远不会创建存储过程。驱动程序会将语句放在高速缓存中,且会在运行 SQLExecute 时直接执行它并报告任何语法或类似错误。 如果设置为 3,则永远不会创建存储过程。除了任何语法或类似错误在运行 SQLPrepare(而非 SQLExecute)时返回外,这与值为 2 的情形相同。请仅在必须在运行 SQLPrepare 时报告语法错误的情况下使用此设置。 |
| PacketSize (PS) |
设置为 -1 时,驱动程序会在第一次连接到数据源时计算允许的最大包大小,并将计算结果保存在系统信息中。
设置为 0(初始缺省值)时,驱动程序使用在 Sybase 服务器配置中指定的缺省包大小。 设置为 x(从 1 到 1024 的整数)时,驱动程序使用 x 与 512 字节的乘积所代表的包大小。例如,PacketSize=6 意味着将包大小设置为 6 * 512 字节(3072 字节)。 若要利用此连接属性,为 Sybase 服务器配置的最大网络包大小必须大于或等于为 PacketSize 指定的值。例如: sp_configure "maximum network packet size", 5120 reconfigure Restart Sybase Server注意:ODBC 规范指定的连接选项 SQL_PACKET_SIZE 提供了相同的功能。为避免与可能同时设置了连接字符串属性和 ODBC 连接选项的应用程序发生冲突,已将这两者定义为互相排斥。如果指定了 PacketSize,则在尝试调用 SQL_PACKET_SIZE 时,会收到消息 [驱动程序不支持]。如果不设置 PacketSize,则驱动程序会接受应用程序对 SQL_PACKET_SIZE 的调用。 |
| Password (PWD) | 口令,区分大小写。 |
| RaiseErrorPositionBehavior (REPB) |
RaiseErrorPositionBehavior={0|1}。指定在遇到 raiserror 的情况下返回错误的时间和定位游标的位置。
设置为 0(初始缺省值)时,raiserror 与周围的语句分开处理。当 raiserror 通过 SQLExecute、SQLExecDirect 或 SQLMoreResults 处理时,返回错误。结果集是空的。 设置为 1(MS 兼容)时,raiserror 与下一条语句一起处理。处理下一条语句时返回错误,游标定位在产生的结果集的第一行。这可能导致一次执行返回多个 raiserror。 |
| SelectMethod (SM) |
SelectMethod={0|1}。决定数据库游标是否用于 SELECT 语句。
设置为 0(初始缺省值)时,使用数据库游标。在一些情况下,在执行大量连续的 SELECT 语句时会降低性能,因为与创建数据库游标相关的开销量也会急剧增加。 设置为 1 时,SELECT 语句可在不使用数据库游标的情况下直接运行,而数据源限于一个活动语句。 若要设置连接高速缓存,必须将 SelectMethod 设置为 1。有关详细信息,请参见前面的 CursorCacheSize。 |
| TightlyCoupled DistributedTransactions (TCDT) |
TightlyCoupledDistributedTransactions={0|1}。决定驱动程序在连接到 Adaptive Server Enterprise 版本 12 或更高版本的数据库时是否使用紧密结合的分布式事务。设置为 1(初始缺省值)时,驱动程序使用此类型的事务,且同一分布式事务中的多个连接不遵循彼此的锁。
设置为 0 时,驱动程序的整体性能较高,但同一分布式事务中的多个连接可能会互相挂起,因为这些连接不遵循彼此的锁。 此属性仅在驱动程序在分布式事务中被征用时或在驱动程序连接到 Sybase 版本 12 或更高版本的数据库时有效。其它情况下,此属性将被忽略。 |
| WorkstationID (WKID) | 客户端使用的工作站 ID。 |
| XAOpenStringParameters (XAOSP) | 指定跟踪文件名。使用语法 -Ltrace_filename,其中 trace_filename 指定要创建的两个跟踪文件的名称。第一个跟踪文件将跟踪所有的 XA 调用活动,其名称就是您指定的名称。第二个跟踪文件将跟踪所有征用过程和取消征用过程,其名称将是在您指定的名称后加"driver"扩展名。例如,如果指定 XAtrace 作为文件名,驱动程序将创建如下的两个跟踪文件:XAtrace 和 XAtrace.driver。 |
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。