e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> DB2教程 >> DB2 UDB 连通性快捷表 第 4 部分 >> 教程正文
 
教程搜索
 
 
相关教程
  • 数据挖掘器: 警告 — 及时采取行动
  • UNIX、Linux 和 Windows 的生动简介
  • “总览图”: IBM DB2 通用数据库和信息
  • DB2 大事记
  • 数据管理部门副总裁兼 CTO:Don Hader
  • IBM 联邦数据库技术
  • 唐纳德.海德勒(Donald J. Haderle)
  • 数据库未来展望
  • 哪一个分布式 DB2 UDB V8 版本适合您?
  • 从数据管理到信息集成: 自然的演变
  • 联邦 - 数据库互操作性(第 1 部分)
  • 成功是必然的(中)
  • 成功是必然的(上)
  • 成功是必然的(下)
  • DB2 信息集成: 总览图
  • IBM 杰出工程师兼信息集成主管 Nelson
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
DB2 UDB 连通性快捷表 第 4 部分
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9
[30 + 1]; if (argc < 4) { printf ("Usage: dbconn_ODBC_CLI <database name> <userid> <password>\\n"); exit (0); } strcpy (dbname, argv[1]); strcpy (user, argv[2]); strcpy (pswd, argv[3]); rc = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); rc = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER); rc = SQLAllocHandle(SQL_HANDLE_DBC, henv, & hdbc); /* connect to the database */ rc = SQLConnect(hdbc, (SQLCHAR *)dbname, SQL_NTS, (SQLCHAR *)user, SQL_NTS, (SQLCHAR *)pswd, SQL_NTS); printf ("\\n Successful connection to '%s' db using ODBC/CLI \\n",dbname); rc = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); strcpy(statement,"SELECT IBMREQD"); strcat(statement," FROM SYSIBM.SYSDUMMY1;"); rc = SQLExecDirect(hstmt, statement, SQL_NTS); rc = SQLBindCol(hstmt, 1, SQL_C_CHAR, mycolout, sizeof(mycolout), &mycoloutlen); while((rc = SQLFetch(hstmt)) == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO) { /* Print data */ printf(" Successful retrieval of record. Column 'IBMREQD' has a value of '%s'\\n",mycolout); } rc = SQLCloseCursor(hstmt); rc = SQLFreeStmt(hstmt, SQL_RESET_PARAMS); rc = SQLFreeHandle(SQL_HANDLE_STMT, hstmt); rc = SQLDisconnect(hdbc); printf (" Successful Disconnection from database '%s'\\n", dbname); rc = SQLFreeHandle(SQL_HANDLE_DBC, hdbc); rc = SQLFreeHandle(SQL_HANDLE_ENV, henv); printf (" End of Program\\n"); return 0; } // dbconn_ODBC_CLI


表 2. 从 DB2 UDB for Linux、UNIX 和 Windows CLI 客户机应用程序连接到 DB2 UDB 服务器(任何平台)

Machine 1(‘myblue’)DB2 UDB for Linux、UNIX 和 Windows Machine 2(‘aries’)DB2 UDB 服务器(任何平台) 在这台机器上运行下列命令: 您需要从这台机器上获取下列信息,以便在 machine 1 上执行命令: 第一部分:配置连通性 db2 catalog tcpip node mynode remote 9.23.190.24 server 50000

db2 catalog db sample at node mynode

db2 terminate

请参阅该系列文章的 第 1 部分以获得连通性设置的详细指导。 第二部分:编译并链接 CLI 程序

在 Windows 中使用 MS Visual Studio 6:

  • cl -Zi -Od -c -W2 -DWIN32 dbconn_ODBC_CLI.c
  • link -debug -out:dbconn_ODBC_CLI.exe dbconn_ODBC_CLI.obj db2cli.lib db2api.lib

对于本文,我们将以上两个命令放置在名为‘bldappCLI.bat’的文件之中,而该文件是以程序名(不带扩展名)为参数的。

请注意,我们是使用与 odbc32.lib(ODBC 驱动程序管理器)相对的 db2cli.lib (CLI 驱动程序)来链接程序的。这意味着这是一个 CLI 程序,因而它不会通过 ODBC 驱动程序管理器;因此,该程序将仅仅对一个 DB2 UDB 数据库进行操作。

* 注意事项:

  • DB2 运行时客户机已经足够运行这个 CLI 程序了。但是,如果要像在本例中一样开发这个程序,由于需要对程序进行编译,那么您就需要 DB2 UDB 应用程序开发客户机(DB2 UDB Application Development client)。
  • 应确保已正确设置了环境变量(请参阅 表 1中的实例)。
第三部分:执行程序 dbconn_ODBC_CLI sample db2admin mypsw
  • 该示例程序被设计为按此次序获取 3 个参数:<数据库名> <用户 ID> <密码>
  • ‘Sample’是此客户端机器上的 catalog db 命令中为数据库名指定的别名。默认情况下,如果没有在该命令中指定别名,那么数据库名就相当于别名。
sample = 数据库名


db2admin = 服务器上的用户 ID

mypsw = 服务器上的密码

图 2 显示了 DB2 UDB 命令‘list db directory’的输出,该命令是在用于开发程序的 Windows 系统中发出的。第一个条目‘NEW_JERS’表示一个 DB2 UDB for z/OS 数据库,第二个条目‘NORISC6’表示一个 DB2 UDB for iSeries 数据库,而最后的第三个条目‘SAMPLE’则表示一个 DB2 UDB for Linux、UNIX 和 Windows 数据库。本文中所有的示例程序将在适当的地方对这三个数据库进行操作。

图 2. List db directory 输出(系统数据库目录)

图 3 显示了对 图 2中所示的三个数据库运行程序 db2conn_ODBC_CLI.c 时的输出。

图 3. dbconn_ODBC_CLI.c 程序输出

场景 2 - 使用 ODBC 连接 DB2 UDB 数据库(任何平台)

DB2 UDB 遵从 ODBC 3.51。与在场景 1 中所提到的一样,跟 ODBC 驱动程序管理器进行交互时,由 DB2 UDB CLI 驱动程序充当 DB2 UDB ODBC 驱动程序。

在 Windows 平台中,MS ODBC 驱动程序也会随 DB2 UDB 一起被默认安装(若找到更新版本的驱动程序管理器,DB2 UDB 安装不会将之覆盖掉)。而在 UNIX 和 Linux 平台中却没有提供驱动程序管理器。然而从 DB2 UDB V8 开始,IBM 正式支持开放源代码的 unixODBC 驱动程序管理器。

图 4. 从 DB2 UDB for Linux、UNIX 和 Windows ODBC 应用程序客户机连接到 DB2 UDB 服务器(任何平台)

请注意,对于该场景,我们使用了与 清单 1中所示完全相同的程序。当您直接用 db2cli.lib 库(CLI 驱动程序)链接程序 db2conn_ODBC_CLI.c 时,它就是一个‘CLI’程序。而当用 odbc32.lib 库进行链接时,此同一程序将被视作一个 ODBC 程序。

表 3. 从 DB2 UDB for Linux、UNIX 和 Windows ODBC 应用程序客户机连接到 DB2 UDB 服务器(任何平台)

Machine 1(‘myblue’)DB2 UDB for Linux,UNIX and Windows Machine 2(‘aries’)DB2 UDB 服务器(任何平台) 在这台机器上运行下列命令: 您需要从这台机器上获取下列信息,以便在 machine 1 上执行命令: 第一部分:配置连通性 db2 catalog tcpip node mynode remote 9.23.19

上一页  1 2 3 4 5 6 7 8 9 10 下一页
  • 上一篇教程: 如何在DB2上为AIX5L设置unixODBC
  • 下一篇教程: 监控和估计
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.