你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
将XML应用程序从DB2 8.x迁移到Viper(3)
 

设置更新存储过程的步骤

通过执行以下步骤编译 java 代码并创建 db2xmlfunctions.jar 文件。

注意:db2xmlfunctions.jar 还可以从 下载 部分下载。如果您选择下载该文件,则跳过 第 2 步。

创建目录 /temp/samples。

将 XMLUpdate_code.zip(可以在 下载 部分找到)复制到 temp 目录。

将 XMLUpdate.java 和 XMLParse.java 文件解压到 /temp/samples 目录。

编译 java 文件并为 UDF 创建 jar 文件。

在 Microsoft Windows 上,打开 DB2 命令窗口:

SET CLASSPATH= .;%DB2PATH%\java\db2java.zip;

%DB2PATH%\java\db2jcc.jar;

%DB2PATH%\java\db2jcc_license_cisuz.jar;

"%DB2PATH%\java\jdk\bin\javac.exe" -d . *.java

"%DB2PATH%\java\jdk\bin\jar" cvf

db2xmlfunctions.jar com/ibm/db2/xml/functions/*.class

在 AIX 上,将 DB2PATH 设置为 DB2 SQLLIB 目录:

CLASSPATH=$DB2PATH/java/sqlj.zip:$DB2PATH/java/db2java.zip

$DB2PATH/java/jdk/bin/javac.exe" -d . *.java

$DB2PATH/java/jdk/bin/jar" cvf

db2xmlfunctions.jar com/ibm/db2/xml/functions/*.class

注意:上述命令假定使用 sh 或 bash shell。根据需要更改为 csh、tsh 等。

DB2 中安装存储过程:

DB2 -t

connect to your_dbnameÿ

CALL SQLJ.INSTALL_JAR('file:/temp/samples/db2xmlfunctions.jar' ,

db2xmlfunctions,0);

在数据库中注册存储过程:

CREATE PROCEDURE db2xmlfunctions.XMLUPDATE(

IN COMMANDSQL VARCHAR(32000),

IN QUERYSQL VARCHAR(32000),

IN UPDATESQL VARCHAR(32000),

OUT errorCode INTEGER, OUT errorMsg VARCHAR(32000))

DYNAMIC RESULT SETS 0

LANGUAGE JAVA

PARAMETER STYLE JAVA

NO DBINFO

FENCED

NULL CALL MODIFIES SQL DATA

PROGRAM TYPE SUB

EXTERNAL NAME 'db2xmlfunctions:com.ibm.db2.xml.functions.XMLUpdate.Update' ;

TERMINATE;

删除存储过程

如果更改了存储过程,那么在注册新版本之前应该首先从 DB2 卸载它:

DROP PROCEDURE DB2XMLFUNCTIONS.XMLUPDATE(VARCHAR(32000),

VARCHAR(32000),VARCHAR(32000),INTEGER, VARCHAR(32000));

CALL SQLJ.REMOVE_JAR(DB2XMLFUNCTIONS);

XMLUpdate 示例

对于 XMLUpdate 示例,请执行以下步骤:

创建测试表:

Create table XMLCustomer(cid integer not null PRIMARY KEY, info XML );

将示例 XML 文档插入表中:

Insert into XMLCustomer (cid, info ) values (1006 ,

XMLPARSE ( DOCUMENT '

<customerinfo xmlns="

http://posample.org

" Cid="1006">

<name>Hardeep Singh</name>

<addr country="United States">

<street>555 Bailey Ave</street>

<city/>

<prov-state>CA</prov-state>

<pcode-zip> 95141</pcode-zip>

</addr>

<phone type="">543-4610</phone>

</customerinfo>'

PRESERVE WHITESPACE ) );

注意:由于更新调用修改了初始的 XML 文档,所以您需要为某些查询而删除插入的文档,并重新插入它。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089