WEB开发网
开发学院数据库DB2 DB2 数据库应用中使用受信任上下文 阅读

DB2 数据库应用中使用受信任上下文

 2007-05-20 16:19:36 来源:WEB开发网   
核心提示: XA 应用程序中的受信任连接应用程序可以在分布式事务中使用受信任连接,XA 分布式事务处理为每个进程启动一个应用服务器,DB2 数据库应用中使用受信任上下文(5),在每个应用服务器进程中,可以使用 XA API(xa_open)建立连接,XA 在 xa_open 期间执行受信任上下文设置,

XA 应用程序中的受信任连接

应用程序可以在分布式事务中使用受信任连接。XA 分布式事务处理为每个进程启动一个应用服务器。在每个应用服务器进程中,可以使用 XA API(xa_open)建立连接。本节描述环境的配置和在含受信任上下文的环境下运行 DB2 CLI 应用程序的一些考虑事项。

通过以下方法,可以为另一个用户建立和切换受信任连接:

将 xa_open 字符串中的 TCTX 参数设置为 true 或 false,以表明客户机是否在受信任上下文模式中运行。

然后,应用程序必须调用 SQLConnect() 将 Transaction Manager(TM)打开的连接与 CLI/Open Database Connectivity(ODBC)连接句柄相关联。应用程序可以在 SQLConnect 字符串中指定用户 ID 和密码。

随后,应用程序可以调用 xa_start 将一个事务 ID(XID)传递给 Resource Manager(RM),将调用者线程与一个事务分支相关联。

为了切换一个受信任连接上的用户,应用程序必须首先调用 xa_end (TM_SUCCESS),并通过调用 SQLSetConnectAttr 指定新的用户 ID 和可选的密码。

这个例子展示如何在 XA 应用程序环境中启用一个受信任上下文和切换用户 ID。为了建立与数据库服务器的受信任连接,应用程序必须以 TCTX=TRUE 设置调用 xa_open。在使用 SQLConnect 字符串建立一个受信任连接之后,应用程序可以调用 SQLSetConnectAttr,并将 SQL_ATTR_TRUSTED_CONTEXT_USERID 设置为 newton 来切换用户 ID。一旦应用程序调用 xa_start 开始事务,接下来的工作就是在受信任用户 ID newton 之下进行的。当执行了 xa_close 之后,底层的受信任连接不复存在。如果 CLI 句柄仍然存在,它也不再被标记为受信任连接,因为当创建连接时,XA 在 xa_open 期间执行受信任上下文设置。xa_close 断开受信任上下文,CLI 建立的任何未使用 XA 的新连接都不受信任。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 数据库 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接