Collection Contents 上一页 下一页 PDF

MobiLink 和远程数据访问的 ODBC 驱动程序

iAnywhere Solutions ODBC Driver for DB2

使用连接字符串连接到数据源


如果应用程序要求使用连接字符串连接到数据源,则必须指定数据源名称,告诉驱动程序使用系统信息中的哪一部分作为缺省连接信息。或者,也可以在连接字符串中指定 attribute=value 对,替换在系统信息中存储的缺省值。不会将这些值写入系统信息中。

可以在连接字符串中指定长名称或短名称。连接字符串的格式为:

DSN=data_source_name[;attribute=value[;attribute=value]...]

DB2 的连接字符串的示例如下:

DSN=DB2MVS;LOC=TESTMVSDB2;UID=JOHN;PWD=XYZZY

要在 UNIX 环境中配置数据源,您必须编辑系统信息文件。此文件只接受属性的长名称。

有关详细信息,请参见 UNIX 快速入门

如果在连接字符串或系统信息内的数据源定义中未指定任何值,则使用表中列出的初始缺省值。如果在配置数据源时指定了该属性的值,则将该值作为缺省值。

大多数设置可保留其缺省值。有关使用 MobiLink 时的关键驱动程序设置列表,请参见 MobiLink 和 DB2 的关键设置。有关一起使用 ODBC 驱动程序和 MobiLink 的其它信息,请参见 [external link] http://www.ianywhere.com/developer/technotes/odbc_mobilink.html

属性 说明
AddStringTo CreateTable (ASCT) 自动添加到所有 Create Table 语句中的字符串。此字段主要供需要添加"in database"子句的用户使用。
AlternateID (AID) 此连接字符串在连接时将当前模式更改为用户指定的值。它将为 SQL 语句中的非限定对象名设置缺省限定符。如果更改当前模式的尝试失败,连接将失败,并显示 [替代 ID 的值无效]。应该将 DB2 权限设置为 SYSADM。(对 AS/400 V4R5 和 V5R1 无效。)
AppCodePage (ACP) AppCodePage 已由 IANAAppCodePage (IACP) 替代。请参见以下内容。
Collection (COL) 标识一组程序包的名称。仅当连接到 OS/390 上的 DB2 时,此属性才有效。
Database (DB) 要连接到的数据库的名称。
DataSourceName (DSN) 在系统信息中标识 DB2 数据源配置的字符串。示例包括"Accounting"和"DB2-Serv1"。
DynamicSections (DS) DB2 驱动程序包可为单个用户准备的语句数。初始缺省值为 32。
GrantAuthid (GA) 确定将执行权限授予谁的值。

缺省值为将对该程序包的执行权限授予 PUBLIC。

GrantExecute (GE) GrantExecute={0|1}。指定是否对正在创建的程序包授予权限。

设置为 0 时,不授予权限。

设置为 1 时,授予权限。

IANAAppCodePage (IACP) IANAAppCodePage 连接字符串属性的值中列出了此属性的有效值。指定的代码页必须与应用程序使用的代码页相同。UNIX 上的驱动程序通过按照以下顺序检查 IANAAppCodePage 的值来确定应用程序代码页的值:
  • 在连接字符串中

  • 在系统文件 (odbc.ini) 的 DataSource 部分

  • 在系统文件 (odbc.ini) 的 ODBC 部分

如果未找到 IANAAppCodePage 值,驱动程序将使用缺省值 4 (ISO 8859-1 Latin-1)。

注意:IANAAppCodePage 连接字符串属性替代了 Connect for ODBC 早期版本中的 AppCodePage 连接字符串属性。驱动程序向后兼容 AppCodePage 属性,但您现在必须使用 IANAAppCodePage 属性。

IPAddress (IP) 存储分类表的计算机的 IP 地址。使用计算机的数字地址(例如,123.456.78.90)输入地址或键入其地址名。如果输入地址名,则驱动程序必须在工作站上的 HOSTS 文件或 DNS 服务器中查找该名称(以及正确的地址指派)。
IsolationLevel (IL) IsolationLevel={ALL|CHANGE|CURSOR_STABILITY|NO_COMMIT|REPEATABLE_READ}。指定系统获取和释放锁的方法。有效值为:

All   防止任何其它进程访问您的应用程序已读取或修改的数据。锁定所有读取或修改的数据,直到该事务结束时为止。

Change   允许其它进程从数据库中读取。只锁定修改的数据,直到该事务结束时为止。

Cursor Stability   允许其它进程在游标不位于想要更改的行上时对应用程序读取的该行进行更改。防止其它进程更改应用程序已更改的记录,直到程序提交更改或终止时为止。防止程序读取另一进程已修改但尚未提交的记录。

IsolationLevel (IL)(续) No Commit   允许程序读取修改的记录,即使其他人尚未提交这些记录。

Repeatable Read   防止其它进程更改应用程序读取或更改的记录(包括幻像记录),直到程序提交这些记录或终止时为止。防止应用程序读取另一进程已修改但尚未提交的记录。如果程序在此隔离级别下的一个工作单元期间打开相同的查询,结果表将与上个表完全相同;但它可能包含程序所做的更新。

Location (LOC) 用于指定 DB2 位置名称的路径。仅当连接到 OS/390 上的 DB2 时,此属性才有效而且是必需的。
LogonID (UID) 用于连接到 DB2 数据库的缺省登录 ID。只有在数据库上启用了安全机制的情况下,才需要登录 ID。如果是这样,请与您的系统管理员联系以获取您的登录 ID。

对于 UNIX 上的 DB2,使用常规 UNIX 安全性。LogonID 的值是您的 UNIX 用户 ID。

Package (PCK) 程序包的名称,驱动程序使用此程序包为使用此数据源定义的应用程序处理静态和动态 SQL。缺省名称是 DEFxx,其中 xx 是版本号。
PackageOwner (PO) 指派给程序包的 AuthID。此 DB2 AuthID 必须具有在该程序包中执行所有 SQL 命令的权限。
Password (PWD) 用于连接到 DB2 数据库的口令。
TcpPort (PORT) 存储分类表的计算机上指派给 DB2 服务器的端口号。指定该端口的数字地址或其名称(5179 为缺省端口地址)。如果指定端口名称,则驱动程序必须在工作站上的 SERVICES 文件中查找该名称(以及正确的端口指派)。
WithHold (WH) 用于 MobiLink 时,请将此属性设置为 1。

WithHold={0|1}。为使用此数据源的应用程序指定游标行为。要么让 DB2 在提交或回退操作执行后关闭所有打开的游标(删除游标),要么让游标保持在打开状态(保留游标)。设置为 1 时,游标行为是 [保留]。设置为 0 时,游标行为是 [删除](缺省)。

如果正在使用 Static Bind Administrator 并希望程序包使用游标 WITH HOLD,必须将此属性设置为 1。注意,使用此程序包的任何应用程序都必须使用将此属性设置为 1 的数据源。

设置为 1 时,Static Bind Administrator 自动在其放入到应用程序数据库资源模块 (DBRM) 中的查询中添加 WITH HOLD 子句。WITH HOLD 子句防止 DB2 在应用程序执行 Commit 语句后自动关闭游标。

SQLGetInfo( ) returns SQL_CB_PRESERVE for SQL_COMMIT_CURSOR_BEHAVIOR
设置为 0 时,SQLGetInfo( ) 返回 SQL_CB_DELETE。有关此函数的信息,请参见 Microsoft ODBC API。

Collection Contents 上一页 下一页 PDF