- 浏览: 1526227 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (532)
- 软件设计师 (7)
- PSP (5)
- NET MD (9)
- Hibernate (8)
- DIY (51)
- Work (43)
- GAME (24)
- 未分类 (44)
- iPod (6)
- MySQL (39)
- JSP (7)
- 日语能力考试 (36)
- 小说 (4)
- 豆包网 (23)
- 家用电脑 (7)
- DB2 (36)
- C/C++ (18)
- baby (9)
- Linux (13)
- thinkpad (23)
- OA (1)
- UML (6)
- oracle (24)
- 系统集成 (27)
- 脑梗塞 (6)
- 车 (8)
- MainFrame (8)
- Windows 7 (13)
- 手机 (8)
- git (12)
- AHK (2)
- COBOL (2)
- Java (9)
最新评论
-
安静听歌:
... ...
UUID做主键,好还是不好?这是个问题。 -
lehehe:
http://www.haoservice.com/docs/ ...
天气预报 -
lehehe:
[url http://www.haoservice.com/ ...
天气预报 -
liubang201010:
监控TUXEDO 的软件推荐用这个,专业,权威.并能提供报警和 ...
(转载)Tuxedo中间件简介 -
tinkame:
Next[j] =-1 当j=0时;=Max{k|0<k ...
KMP字符串模式匹配详解
http://www.chinaitpower.com/A200508/2005-08-08/186502.html
Raul F. Chong, 数据库顾问, IBM
Jalud Abdulmenan, 数据库顾问
2004 年 3 月
本文的焦点是使用 C 和 Java 语言讨论工作站上的 DB2 UDB 应用程序开发的连通性。
简介
这是第四篇讨论连通性应用场景的文章,其中包括 IBM® DB2® Universal Database TM(UDB)for Linux, UNIX® and Windows® version 8(fixpak 4)、DB2 UDB for iSeries TM 5.2(从 2003 年 12 月起为维护级别)以及 DB2 UDB for z/OS® V8(本文撰写之时,DB2 UDB for z/OS version 8 尚未广泛发布。用于测试场景的是 DB2 for OS/390、z/OS v7 以及从 2003 年 12 月起为维护级别的 V8 beta 版。)。与该系列的 第 3 部分一样,本文使用的也是最新版本;不过文中介绍的方法也可能适用于其他的版本。
本文的焦点是使用 C 和 Java 语言的工作站应用程序开发的连通性。我们将提供使用 JDBC TM、SQLJ、ODBC 等在工作站平台(Linux、UNIX 以及 Windows)上开发的示例程序,其中每个程序都将连接到 DB2 UDB 数据库(任何平台),查询 SYSIBM.SYSDUMMY1 表以及断开连接。请务必使用拥有访问该表的正确权限的用户 ID 来运行这些程序。这些程序是在 Service Pack 4 级别的 Microsoft® Windows 2000 平台上测试的,但是应该也可以移植到 UNIX 和 Linux 平台上。由于篇幅限制,我们所提供的每个示例程序的代码清单只带有最少的注释和错误检查(不过功能仍然齐全)。要获得完整的实用示例程序,请下载本文附带的文件。
该系列的第五篇文章中将介绍 ADO 和 ADO.NET,而第六篇文章中还将介绍其他语言。我们不会讨论在 z/OS、OS/390 或 iSeries 中本地编写的程序。请注意,我们假定您已经具备了一些编程的背景知识;因此,我们不会介绍编程技巧,以及一般是如何编码的。
作为顾问,我们经常将示例程序放在手边,用以测试应用程序连通性的设置是否正确。本文中的示例程序也可以用于此目的。在 DB2 UDB for Linux、UNIX 和 Windows V8 中,您现在可以使用配置助手(Configuration Assistant,CA)来测试多种类型的连接。不过,从 DB2 UDB 的先前版本中也可得到这些示例程序。根据所提供的源代码,示例程序还提供了关于连通性设置的更多详细信息。
本文对于 DBA 应该也是有用的,即使他们通常都无需给程序编码。因为在与应用程序开发人员交流时,对于如何编写要连接和访问 DB2 数据库的程序有基本的理解将很有益。
本文中的程序是基于为其提供了 DB2 UDB 应用程序开发客户机(DB2 UDB Application Development client)的示例程序(在目录 sqllib/samples 下)的;然而为了便于理解,已将它们简化了。
本文将描述下列连通性的应用场景:
C/C++:
- 场景 1:使用 CLI 连接 DB2 UDB 数据库
- 场景 2:使用 ODBC 连接 DB2 UDB 数据库
- 场景 3:使用嵌入式 SQL 和宿主语言 C 连接 DB2 UDB 数据库
Java:
- 场景 4:使用 SUN type 1 驱动程序(JDBC - ODBC 桥)连接 DB2 UDB 数据库
- 场景 5:使用 IBM DB2 UDB type 2 驱动程序(App 驱动程序)连接 DB2 UDB 数据库
- 场景 6:使用 IBM DB2 UDB type 2 驱动程序(通用驱动程序)连接 DB2 UDB 数据库
- 场景 7:使用 IBM DB2 UDB type 3 驱动程序(网络驱动程序)连接 DB2 UDB 数据库
- 场景 8:使用 IBM DB2 UDB type 4 驱动程序(通用驱动程序)连接 DB2 UDB 数据库
- 场景 9:使用 SQLJ 连接 DB2 UDB 数据库
假定所使用的协议为 TCP/IP 协议,因为这是最常使用的协议。我们只列出基本的设置信息。
请注意,我们描述的场景为两层环境。对于 n层环境,则只要将“machine 1”作为执行 C 或 Java 程序的系统来考虑。
下面描述的所有场景中,均在测试机器中设置了下列 Windows 2000 环境变量。其中大多数环境变量是在安装 DB2 UDB 时自动设置的。请注意,对于部分示例程序,我们使用 MS Visual Studio V6 进行编译,这在某些环境变量的值中得到了反映。而在 UNIX/Linux 平台中,某些变量名稍微有点不同。请务必根据您自身的环境,适当地设置这些变量:
表 1. 必需的 Windows 2000 环境变量
环境变量 | 值 |
CLASSPATH | .;C:\\PROGRA~1\\SQLLIB\\java\\db2java.zip;C:\\PROGRA~1\\SQLLIB\\java\\db2jcc.jar;C:\\PROGRA~1\\SQLLIB\\java\\sqlj.zip;C:\\PROGRA~1\\SQLLIB\\bin;C:\\PROGRA~1\\SQLLIB\\java\\common.jar;C:\\PROGRA~1\\SQLLIB\\java\\db2jcc_license_cisuz.jar;C:\\PROGRA~1\\SQLLIB\\java\\db2jcc_license_cu.jar; |
INCLUDE | C:\\PROGRA~1\\SQLLIB\\INCLUDE;C:\\PROGRA~1\\SQLLIB\\LIB |
LIB | C:\\WINNT\\system32;C:\\Program Files\\Microsoft Visual Studio\\VC98\\mfc\\lib;C:\\Program Files\\Microsoft Visual Studio\\VC98\\lib;C:\\PROGRA~1\\SQLLIB\\LIB |
Path | C:\\Program Files\\SQLLIB\\java\\jdk\\bin;C:\\PROGRA~1\\SQLLIB\\BIN;C:\\PROGRA~1\\SQLLIB\\FUNCTION; |
场景 1 - 使用 CLI 连接 DB2 UDB 数据库(任何平台)
可通过下载(免费)任何一个 IBM DB2 UDB 客户机来获取 DB2 UDB CLI 驱动程序(还可用作 DB2 UDB ODBC 驱动程序)。
图 1. 从 DB2 UDB for Linux、UNIX 和 Windows CLI 应用程序客户机连接到 DB2 UDB 服务器(任何平台)
清单 1. dbconn_ODBC_CLI.c(带有最少注释且不含错误检查)
|
表 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:
对于本文,我们将以上两个命令放置在名为‘bldappCLI.bat’的文件之中,而该文件是以程序名(不带扩展名)为参数的。 请注意,我们是使用与 odbc32.lib(ODBC 驱动程序管理器)相对的 db2cli.lib (CLI 驱动程序)来链接程序的。这意味着这是一个 CLI 程序,因而它不会通过 ODBC 驱动程序管理器;因此,该程序将仅仅对一个 DB2 UDB 数据库进行操作。 * 注意事项:
|
|
第三部分:执行程序 | |
dbconn_ODBC_CLI sample db2admin mypsw
|
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 程序输出
发表评论
-
(转)浅谈IBM DB2的数据库备份与恢复
2011-11-23 16:41 1816http://bzhang.mild.blog.163.com ... -
(转)DB2备份恢复数据库步骤
2011-11-23 16:23 917http://tech.it168.com/ibmtec ... -
(转)DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法
2011-11-07 15:03 9481http://blog.sina.com.cn/s ... -
(转)DB2解决“数据库日志已满”操作 SQLCODE=-964
2011-11-07 14:49 2651http://www.db2china.ne ... -
(转)用哪个DB2命令查看DB2 instance是启动还是停止的?
2011-09-30 13:25 3616http://bbs.chinaunix.net/thre ... -
(转)论 LOAD 与 IMPORT 中的 codepage 转换
2011-07-11 14:55 1125http://www.ibm.com/develo ... -
(转)DB2导出数据库表结构和数据
2011-07-11 14:19 1528http://hi.baidu.com/mylovecha ... -
(转)DB2 9 中基于字符的字符串函数
2011-06-16 11:32 1400http://www.ibm.com/develo ... -
(转)db2look:生成 DDL 以便重新创建在数据库中定义的对象
2011-05-31 14:56 1620http://blog.csdn.net/hrfdotnet/ ... -
(转)【俊哥儿张】DB2:学习 DB2LOOK 命令
2011-05-31 14:54 1346http://space.itpub.net/770528 ... -
(转)Recreate optimizer access plans using db2look
2011-05-31 14:53 1247http://www.ibm.com/develo ... -
(转)DB2中ALTER TABLE为什么需要REORG操作?
2011-05-12 13:10 1645http://www.flatws.cn/article/ ... -
(转)DB2 3.2.2 表空间维护
2011-05-11 12:53 1153http://book.51cto.com/art/2 ... -
(转)DB2 数据类型
2011-05-11 12:52 3966http://hi.baidu.com/uvvv/blog ... -
(转)DB2 Basics: Table spaces and buffer pools
2011-05-06 15:29 1440http://www.ibm.com/develo ... -
(转)SQL1092N "USER" does not have the authority to perform therequested command -
2011-03-23 17:39 5441http://dbaspot.com/foru ... -
(转)DB2 sqlstate 57016 原因码 "7"错误详解
2011-03-07 17:38 1472http://www.db2china.net/clu ... -
(转)在英语 OS 上设置 DB2 UDB 版本 8 中的混合字节字符集(MBCS)数据库
2011-02-16 16:25 1568http://www.ibm.com/develo ... -
(转)DB2 CODEPAGE List
2011-02-15 15:15 1384http://www.db2china.net/hom ... -
(转)快速参考: DB2 命令行处理器(CLP)中的常用命令
2010-11-11 10:44 951http://www.ibm.com/develo ...
相关推荐
IBM DB2 UDB 词汇表.zip IBM DB2 UDB 词汇表.zip
微软环境DB2 UDB 7.1开发指南 微软环境DB2 UDB 7.1开发指南
DB2 UDB 9.1 For AIX 安装指南,文档思路清晰,一看就会。
调优 DB2 UDB 调优 DB2 UDB v8.1 及其数据库的最佳实践
DB2 UDB培训资料 DB2 UDB培训资料
DB2 UDB 内存模型
IBM的Oracle to DB2 Udb Conversion Guide ,英文的,希望对大家有帮助
db2_udb_v8开发文档
DB2 Universal Database (UDB) Express Edition 是针对中小企业的关系数据库管理系统(Relational Database Management System,RDBMS)解决方案,这些企业中一般没有专门的数据库管理员 (DBA)。DB2 UDB Express ...
DB2 UDB安全模型主要包括两部分:身份验证和授权。身份验证就是使用安全机制验证所提供用户ID和口令的过程。用户和组身份验证由DB2 UDB外部的设施管理,比如操作系统、域控制器或者Kerberos安全系统。这和其他数据库...
DB2 UDB OLTP 调优资料
MySQL to DB2 UDB Conversion Guide
DB2 UDB SQL入门,经典
本文提供了一系列关于 DB2 UDB for Linux, UNIX:registered: 和 Windows:registered: 的在线学习资料。此外,要查看这类信息,DB2 UDB Information Center 也是一个好去处。本文列出了很多项目,有的作为文章发表在 ...
以截图的方式一步一步讲解DB2 UDB的安装步骤
使用 Delphi挖掘 DB2 UDB 表以获取决策支持
DB2 UDB Express-C V9.7 数据库基础 实验 手把手教学步骤