DB2 Magazine 中文版: 访问 iSeries 数据

当您第一次开始学习 DB2 for iSeries 时,一下子要弄清楚如何访问所有数据可能有些令人生畏。我将介绍访问 DB2 for iSeries 数据的一些常见的方法,并展示如何开始开发访问存储在 DB2 for iSeries 数据库中的数据的应用程序。

我主要讨论经常使用非 iSeries 平台的开发人员所熟悉的语言。例如,如果谁开发过 Windows 或 Linux 上的 JDBC 应用程序,那么他应该能够很快地在 iSeries 平台上编译和运行 JDBC 应用程序。如果您更喜欢看直观的例子,那么请阅读本期的在线版本,其中有一些相关的屏幕快照(www.db2mag.com)。

本期基于带最新程序临时性修改(PTF)的 V5R4。我将谈到以下接口:

  1. iSeries Navigator and Start SQL Interactive Session (STRSQL)
  2. JDBC
  3. Net.Data
  4. PHP
  5. ILE C and C++

运行 SQL 语句

您可以从两种简单的界面中选择一种来发出 SQL 语句:iSeries Navigator 中的 Run SQL Scripts 窗口,或者 5250 非 GUI 界面(“绿屏”界面)中的 STRSQL 命令。

iSeries Navigator。 安装 IBM iSeries Access for Windows,该产品包括 iSeries Navigator (用于从 Windows 桌面管理 iSeries 服务器的 GUI)。要了解关于该产品的更多信息,请参阅 IBM eServer iSeries Access 主页(见参考资料)。

安装好 IBM iSeries Access for Windows 之后,打开 iSeries Navigator,添加一个到 iSeries 服务器的连接,然后展开新添加的 iSeries system → Databases,并在一个特定数据库上单击右键,启动 Run SQL Scripts 窗口。

通过 Run SQL Scripts 窗口可以创建、编辑、运行 SQL 查询以及检修 SQL 查询方面的问题。SQL Assist 工具为构建 SQL 查询提供帮助。您在其中可以输入 SQL 语句,语句之间以分号终止符隔开。要运行多条语句,只需选择 Run → All 

如果使用的是 STRSQL,而不是 iSeries Navigator,那么就需要 DB2 Query Manager and SQL Development Kit。为了验证是否已经安装这个特许程序,可以输入 Go Licensed Program (GO LICPGM) 命令并选择 Option 10 (Display)。

STRSQL。可以从 5250 界面开始交互式 SQL,方法是输入 STRSQL 命令,然后按下 Enter 键。在这个界面中,可以输入整个 SQL 语句,也可以使用 F4=Prompt 来填充值,以构建完整的 SQL 语句。

创建好表,并向表中填入数据后,发出 SELECT 语句,验证数据是否已经被正确地插入到表中。

也可以在 STRSQL 命令行上输入 SQL 语句的动词,然后按下 F4=Prompt,以提供那条语句所需的信息。例如,如果输入 INSERT 并按下F4=Prompt,那么命令行提示您输入相关的详细信息;完成输入后,按 Enter 键。

如果输入的表名和库的详细信息是正确的,那么命令行将提示您为表中的每个列输入一个值。按下 ENTER 键后,又会回到 STRSQL 屏幕,在这个屏幕上可以看到被执行的完整的 INSERT 语句。

在继续讨论应用程序开发界面之前,让我们创建一个表,然后插入一些数据到表中。在接下来的几节中使用的示例程序将对这个表发出一个SELECT 查询。

从 STRSQL 界面发出清单 1 中所示的语句。

JDBC 接口

要使用 JDBC,需要特许程序 5722-JV1,系统 CD 附带了这个特许程序。JV1 应该预先安装好;为了验证是否已经安装该程序,可以输入 Go Licensed Program (GO LICPGM) 命令,并选择 Option 10 (Display)。如果在列表中没有看到这个特许程序,那么安装 5722-JV1 *BASE,并选择与您要安装的 Java Development Kit (JDK) 相匹配的选项。

为了测试 IBM Developer Kit for Java 是否安装成功,可以在 iSeries Main Menu 命令行上输入 java Hello。按下 Enter 键来运行 Hello World Java 程序。如果 IBM Developer Kit for Java 已经正确地安装,那么在 Java Shell Display 中会显示 Hello World。

您可以从两种驱动程序中选择一种来建立到 iSeries 数据库的连接:本地 JDBC 驱动程序或 Toolbox JDBC 驱动程序。经验法则是,当直接在 iSeries 服务器上运行代码时,使用本地驱动程序;而当从不同的机器远程连接到 iSeries 数据库时,则可以使用 "Toolbox" 驱动程序。

清单 2 中的源代码允许用户选择使用哪种驱动程序来建立连接。将该代码保存为 DBTest.java 文件,放在 IFS 中的一个目录下。从 iSeries 命令行执行一个 QSH 命令,接着通过 cd 命令找到 .java 文件所在位置,然后发出以下命令:

javac DBTest.java

若要运行代码并使用本地驱动程序用于连接,发出以下命令:

java DBTest DB2_APP <ipaddress_iSeries> <RDB_Name>
<userid> <password>

可以通过从 iSeries 命令行发出 WRKRDBDIRE 命令来验证 RDB_name。

清单 3 展示了一个示例输出。

如果使用的是 Toolbox 驱动程序,那么应确保环境变量 CLASSPATH 是指向位于 Integrated File System (IFS) 中的jt400.jar 文件的。您可以通过 QSH 界面设置和验证 CLASSPATH 变量的值,方法如下所示:

export CLASSPATH=:/QIBM/ProdData/HTTP/public/jt400/lib/jt400.jar
echo $CLASSPATH

若要运行代码并使用 Toolbox 驱动程序用于连接,那么可以发出以下命令:

java DBTest Toolbox <ipaddress_iSeries> <RDB_Name>
<userid> <password>

清单 4 展示了示例输出。

NET.Data 接口

您不需要安装任何软件就可以开发 Net.Data 宏。可以通过运行 GO LICPGM 命令来验证是否已经有 5722-DG1 IBM HTTP Server for i5/OS:

  1. 使用 CRTDIR DIR ('/NDTEST') 命令创建一个名为 NDTEST 的 IFS 目录。
  2. 使用 CRTLIB LIB(NDTEST) 命令创建一个名为 NDTEST 的库。
  3. 使用 CRTDUPOBJ OBJ(DB2WWW) FROMLIB(QHTTPSVR) OBJTYPE(*PGM) TOLIB(NDTEST) 命令将 DB2WWW 对象从 QHTTPSVR 复制到库NDTEST/DB2WWW 中。

    使用 EDTOBJAUT 命令确保 *PUBLIC 或 QTMHHTP1 用户简要表(profile)拥有程序 /NDTEST/DB2WWW 的授权。

  4. 使用 IBM Web Administration for i5/OS 界面创建一个名为 NDTEST 的 HTTP 服务器,这个 HTTP 服务器侦听 8081。确保在 HTTP 服务器配置文件(可以通过选择 Manage Servers tab → HTTP Servers tab → Tools → Edit 来编辑这个文件)中有以下条目:
    Listen *:8081
    ScriptAlias /netdata/ /QSYS.LIB/NDTEST.LIB/DB2WWW.PGM/ndtest/
    <Directory /QSYS.LIB/NDTEST.LIB/>
         Order Allow,Deny
         Allow From all
         Options +ExecCGI
    </Directory>

    重新启动 HTTP 服务器,以使更改生效。

  5. 将清单 5 中的代码复制到一个名为 TestDB2.ndm 的文件中,并将该文件通过 FTP 传输到 IFS 目录 /NDTEST 中。然后可以使用这个 URL 调用它:http://<ipaddress of iseries server>:8081/netdata/TestDB2.ndm/input.

PHP 接口

有了 Zend Core for i5/OS 产品,现在可以在 iSeries 平台本地运行 PHP 脚本。PHP 可用于快速开发 Web 应用程序。Zend Core 使访问 DB2 for iSeries 数据和将它显示在 Web 站点上的 PHP 脚本的编写和部署变得更简单。

Zend 网站(www.zend.com)列出了安装 Zend Core for i5/OS 的步骤。安装了这个产品,并成功地登录到 Zend Core 界面之后,将以下代码复制到一个名为 DB.php 的文件中,放在 /usr/local/Zend/apache2/htdocs IFS 文件夹下。用实际的值替换脚本中 RDB_name、userid 和 password 的值。可以通过从 iSeries 命令行中发出 WRKRDBDIRE 命令来验证 RDB_name(见清单 6)。

可以从一个受支持的浏览器中,使用 URL http://<ipaddress_iSeries>:8000/DB.phpTest 调用该脚本来对它进行验证。

ILE C 和 C++ 接口

通过发出 GO LICPGM,选择 Option 10,并检查关于特许程序 5722-WDS、Options 51 和 Options 52 的输出,验证 iSeries 服务器上是否有 ILE C 和 C++ 编译器。

  1. 使用 CRTLIB LIB(MYLIB) 命令创建一个库。
  2. 使用 CRTSRCPF FILE(MYLIB/QCSRC) TEXT('Source physical') 命令创建一个源文件。
  3. 启动 Programming Development Manager (STRPDM)。

    选择 Option 3 (Work with members)。指定源文件名为 QCSRC,库为 MYLIB。按下 F6 (Create) 键,输入成员名 SAMP 和源类型 C。这时将出现 SEU Edit 屏幕,您可以在其中输入源代码。

    将清单 7 中显示的源代码输入到 SEU Edit 屏幕中。

    按 F3 (Exit) 键进入 Exit 屏幕。输入 Y (Yes) 保存成员 SAMP 

  4. 发出以下命令创建程序目标文件:
    CRTSQLCI OBJ(MYLIB/TESTPGM) SRCFILE(MYLIB/QCSRC) SRCMBR(SAMP) OBJTYPE(*PGM)
  5. 最后,使用 CALL PGM(MYLIB/TESTPGM) 命令运行该文件。

转载于:https://www.cnblogs.com/vinsonLu/p/3622652.html

资源简介 第 1章 – DB2 Express-C是什么?..........................................................................................13 1.1免费开发、部署和分发… 无限制!...............................................................................13 1.2用户帮助和技术支持.....................................................................................................14 1.3 DB2服务器..................................................................................................................14 1.4 DB2客户端和驱动........................................................................................................14 1.5 应用程序开发的自由性.................................................................................................15 1.6 DB2 版本号与 DB2 版本分类........................................................................................16 1.7升级到其它的 DB2版本................................................................................................16 1.8 DB2 Express-C的维护.................................................................................................16 1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)...........................................................................17 1.9.2 DB2 Net Search Extender .....................................................................................17 1.9.3 Starter Toolkit for DB2 on Rails.............................................................................17 1.9.4 Web 2.0 Starter Toolkit for DB2 ............................................................................17 1.9.5 WebSphere Application Server – Community Edition............................................18 第 2章 – DB2相关特性和产品................................................................................................19 2.1 DB2 Express-C订购中包含的功能...............................................................................22 2.1.1 Fix packs补丁包...................................................................................................22 2.1.2高可用性灾难恢复(HADR) ................................................................................22 2.1.3数据复制(Data Replication)...............................................................................22 2.2 DB2 Express-C所不具备的功能...................................................................................23 2.2.1数据库分区............................................................................................................23 2.2.2连接集中器(Connection Concentrator ).............................................................23 2.2.3 Geodetic Extender ................................................................................................23 2.2.4工作负载管理(Workload Management, WLM) .......................................................24 2.3 DB2相关收费产品........................................................................................................24 2.3.1 DB2连接(DB2 Connect)...................................................................................24 2.3.2 WebSphere Federation Server..............................................................................24 2.3.3 WebSphere Replication Server .............................................................................25 第 3章 – 安装 DB2..................................................................................................................27 3.1安装前提条件................................................................................................................27 3.2操作系统中的安装权限.................................................................................................27 3.3安装向导.......................................................................................................................27 3.4自动安装.......................................................................................................................31 实验 #1 安装DB2 Express-C,创建 SAMPLE数据库........................................................32 第 4章 – DB2的应用环境.......................................................................................................35 实验 #2 - 创建一个新的数据库............................................................................................43 4.1 DB2配置......................................................................................................................44 4.1.1 环境变量................................................................................................................44 4.1.2 数据库管理器配置文件(dbm cfg) ...........................................................................44 4.1.3 数据库配置文件(db cfg)....................................................................................46 4.1.4 DB2 概要文件注册表.............................................................................................47 4.2 DB2管理服务器...........................................................................................................48 实验 #3 – 实例、数据库和配置管理....................................................................................49 第 5章 – DB2工具..................................................................................................................51 5.1控制中心(Control Center).........................................................................................52 5.2命令编辑器(Command Editor) .................................................................................55 5.3 SQL帮助向导(SQL Assist Wizard ).........................................................................57 5.4 显示SQL按钮..............................................................................................................58 实验 #4 使用脚本填充EXPRESS数据库...........................................................................59 5.5 脚本..............................................................................................................................60 5.5.1 SQL脚本...............................................................................................................60 5.5.2操作系统(shell)脚本..........................................................................................61 实验 #5 为EXPRESS数据库创建一个安装脚本.................................................................62 5.6任务中心(Task Center )...........................................................................................65 5.6.1工具目录(Tools Catalog)数据库........................................................................65 5.7 日志(Journal)...........................................................................................................66 5.8运行状况监视器(Health Monitor ).............................................................................67 5.8.1运行状况中心(Health Center )...........................................................................68 PART II – DB2 Express-C 数据库管......................................................................................71 第 6章 – DB2体系结构...........................................................................................................73 6.1 DB2进程模型...............................................................................................................73 6.2 DB2内存模型...............................................................................................................74 6.3 DB2存储模型...............................................................................................................75 6.3.1数据页和扩展数据块..............................................................................................75 6.3.2缓冲池...................................................................................................................76 6.3.3表空间...................................................................................................................77 第 7章 – DB2 客户端的连接....................................................................................................81 7.1 DB2 目录......................................................................................................................81 7.2 配置助手(Configuration Assistant )..........................................................................82 7.2.1服务器端的安装要求..............................................................................................82 7.2.2 Setup required at the client 客户端的安装要求......................................................84 7.2.3建立客户端与服务器端概要文件............................................................................87 实验 #6 使用配置助手........................................................................................................90 第 8章 – 数据库对象...............................................................................................................93 8.1 模式..............................................................................................................................93 8.2表.................................................................................................................................93 8.2.1数据类型................................................................................................................93 8.2.2标识列...................................................................................................................96 8.2.3序列对象................................................................................................................96 8.2.4系统目录表............................................................................................................97 8.2.5已声明临时表.........................................................................................................97 实验 #7 创建一个数据表.....................................................................................................99 8.3视图............................................................................................................................101 8.4索引............................................................................................................................101 8.4.1 Design Advisor ....................................................................................................101 8.5参照完整性.................................................................................................................102 第 9章 – 数据迁移工具..........................................................................................................105 9.1 导出(EXPORT)工具...............................................................................................106 9.2 导入(IMPORT)工具................................................................................................106 9.3 使用 LOAD来导入......................................................................................................107 9.4 db2move 工具...........................................................................................................108 9.5 db2look 工具..............................................................................................................109 实验 #8 导出EXPRESS数据库的DDL............................................................................111 第 10章 – 数据库安全...........................................................................................................115 10.1 认证..........................................................................................................................116 10.2 授权..........................................................................................................................116 10.3 DBADM权限............................................................................................................118 10.4 PUBLIC 组...............................................................................................................119 10.5 GRANT和REVOKE语句 ........................................................................................119 10.6 查看授权和特权........................................................................................................119 10.7 关于组特权...............................................................................................................121 实验 #9 授予和撤销用户的权限........................................................................................122 第 11章 – 备份和恢复...........................................................................................................125 11.1 数据库的日志记录....................................................................................................125 11.2 日志的类型...............................................................................................................126 11.3 日志记录的类型.......................................................................................................126 11.3.1 循环日志记录 ....................................................................................................126 11.3.2 档案日志记录和日志保留...................................................................................127 11.4 从控制中心进行数据库日志记录...............................................................................127 11.5 日志记录的参数........................................................................................................129 11.6 数据库备份...............................................................................................................129 实验 #10 – 安排一个备份计划..........................................................................................131 11.7 数据库恢复...............................................................................................................133 11.7.1 恢复类型............................................................................................................133 11.7.2 数据库恢复........................................................................................................133 11.8 其他关于备份和恢复的操作......................................................................................134 第 12章 – 维护任务...............................................................................................................135 12.1 重组(REORG)、运行统计(RUNSTATS)、重绑定(REBIND).......................135 12.1.1重组(REORG)命令........................................................................................135 12.1.2运行统计(RUNSTATS)命令 ..........................................................................136 12.1.3 绑定/重新绑定.................................................................................................136 12.1.4 在控制中心执行维护工作...................................................................................137 12.2 维护方式...................................................................................................................139 实验#11 – 配置自动维护.................................................................................................141 第 13章 – 并行与锁定...........................................................................................................143 13.1 事务(Transactions)..............................................................................................143 13.2 并行(Concurrency) ..............................................................................................143 13.3无并行控制导致的问题 .............................................................................................144 13.3.1丢失更新(Lost update)..................................................................................145 13.3.2未落实的读(Uncommitted read)....................................................................145 13.3.3不可重复读(Non-repeatable read).................................................................146 13.3.4幻象(Phantom read)......................................................................................146 13.4隔离级别(Isolation Levels)...................................................................................147 13.4.1未落实的读........................................................................................................147 13.4.2游标稳定性........................................................................................................147 13.4.3读稳定性............................................................................................................148 13.4.4可重复读............................................................................................................148 13.4.5隔离级别对比.....................................................................................................148 13.4.6设定隔离级别.....................................................................................................149 13.5锁定升级...................................................................................................................150 13.6锁定监视...................................................................................................................151 13.7锁定等待...................................................................................................................151 13.8死锁的引发与侦测.....................................................................................................152 13.9并行与锁定的最佳实践:..........................................................................................153 PART III – DB2 Express-C应用程序开发............................................................................155 第 14章 –SQL PL 存储过程..................................................................................................157 14.1 IBM数据工作室(Data Studio)..............................................................................158 14.1.2在Data Studio中创建一个存储过程..................................................................159 14.2 SQL PL 存储过程基础..............................................................................................161 14.2.1存储过程的结构.................................................................................................161 14.2.2 可选的存储过程属性..........................................................................................162 14.2.3参数...................................................................................................................162 14.2.4 SQL PL存储过程中的注释................................................................................163 14.2.5 复合语句............................................................................................................163 14.2.6 变量声明............................................................................................................163 14.2.7 赋值语句............................................................................................................164 14.3 游标..........................................................................................................................164 14.4 流控制......................................................................................................................164 14.5 调用存储过程 ...........................................................................................................165 14.6 错误和情况处理器....................................................................................................166 14.7 动态SQL..................................................................................................................168 第 15章 – 直接插入 SQL 过程语言、触发器、用户定义函数(UDF)..................................169 15.1直接插入SQL PL .....................................................................................................169 15.2 触发器(Trigger)....................................................................................................170 15.2.1 触发器的类型 ....................................................................................................170 实验 #12 从控制中心创建一个触发器...............................................................................174 15.3 用户定义函数 (UDF).................................................................................................177 15.3.1 标量函数(Scalar function).............................................................................177 15.3.2 表函数(Table function)..................................................................................178 实验 #13 使用IBM Data Studio创建用户定义函数(UDF)............................................179 第 16章 – DB2 pureXML......................................................................................................181 16.1 在数据库中使用XML................................................................................................181 16.2 XML数据库..............................................................................................................182 16.2.1 启用 XML的数据库............................................................................................182 16.2.2 原生 XML数据库...............................................................................................182 16.3 DB2中的XML..........................................................................................................183 16.3.1 pureXML 技术优势............................................................................................184 16.3.2 XPath基础........................................................................................................185 16.3.3 XQuery的定义..................................................................................................188 16.3.4 插入 XML文档...................................................................................................189 16.3.5 查询 XML数据...................................................................................................191 16.3.6 使用 SQL/XML执行联合操作............................................................................196 16.3.7 使用 XQuery执行联合操作................................................................................196 16.3.8 更新与删除操作.................................................................................................197 16.3.9 XML 索引.........................................................................................................198 实验 #14 - SQL/XML 和 XQuery.......................................................................................200 第 17章 – 使用 JavaPHP和 Ruby进行数据库应用开发...................................................201 17.1 Java应用程序开发...................................................................................................201 17.1.1 JDBC类型 2驱动程序.......................................................................................201 17.1.2 JDBC类型 4驱动程序.......................................................................................202 17.2 PHP应用程序开发...................................................................................................203 17.2.1 DB2PHP提供的连接选项.............................................................................203 17.2.2 Zend Core for IBM.............................................................................................204 17.3 Ruby on Rails应用程序开发.....................................................................................206 17.3.1 Startup Toolkit for DB2 on Rails ........................................................................206 附录 A — 排除故障...............................................................................................................207 A.1 查找错误代码的更多信息...........................................................................................207 A.2 SQLCODE与SQLSTATE .........................................................................................208 A.3 DB2 管理通知日志.....................................................................................................208 A.4 db2diag.log................................................................................................................209 A.5 CLI追踪.....................................................................................................................209 A.6 DB2缺陷与补丁.........................................................................................................209 参考资源 ...............................................................................................................................210 网站..................................................................................................................................210 书籍..................................................................................................................................211
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值