IBM i (OS/400)中如何使用RPG程序连接DB2数据库

作者:佚名 上传时间:2023-05-30 运行软件:ILE RPG and C 软件版本:IBM i (OS/400) V7R4 版权申诉

本示例代码演示了如何在IBM i (OS/400)操作系统下使用RPG程序连接到DB2数据库。该示例代码包括一个RPG程序文件和一个SQL预处理器程序文件。通过在RPG程序中调用SQL预处理器程序来实现连接到DB2数据库。

RPG程序文件:

     DCL-F MYFILE001 WORKSTN FMT=DISK;
     DCL-S MYQUERY CHAR(500) INZ('SELECT * FROM MYTABLE');
     DCL-S MYRESULT CHAR(100);
     EXEC SQL DECLARE C1 CURSOR FOR MYQUERY;
     EXEC SQL OPEN C1;
     DOU SQLCOD<>0;
     EXEC SQL FETCH NEXT FROM C1 INTO :MYRESULT;
     IF SQLCODE = 0;
     WRITE MYFILE001 MYRESULT;
     ENDIF;
     ENDDO;
     EXEC SQL CLOSE C1;
     *INLR = *ON;

SQL预处理器程序文件:

     #include <stdio.h>
     #include <stdlib.h>
     #include <sqlcli.h>
     #define MAXBUFLEN 1024
     int main(){
     SQLHENV henv;
     SQLHDBC hdbc;
     SQLHSTMT hstmt;
     char query[MAXBUFLEN];
     SQLRETURN retcode;
     retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
     retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0);
     retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
     retcode = SQLConnect(hdbc, (SQLCHAR*)"MYDATABASE", SQL_NTS, (SQLCHAR*)"MYUSERNAME", SQL_NTS, (SQLCHAR*)"MYPASSWORD", SQL_NTS);
     retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
     sprintf(query, "DROP TABLE MYTABLE");
     retcode = SQLExecDirect(hstmt, (SQLCHAR*)query, SQL_NTS);
     sprintf(query, "CREATE TABLE MYTABLE (ID INT, NAME VARCHAR(50))");
     retcode = SQLExecDirect(hstmt, (SQLCHAR*)query, SQL_NTS);
     sprintf(query, "INSERT INTO MYTABLE VALUES (1, 'John'), (2, 'Mike'), (3, 'Lucy')");
     retcode = SQLExecDirect(hstmt, (SQLCHAR*)query, SQL_NTS);
     SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
     SQLDisconnect(hdbc);
     SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
     SQLFreeHandle(SQL_HANDLE_ENV, henv);
     return 0;
     }

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
IBM i (OS/400)如何使用RPG程序连接DB2数据库
本示例代码演示了如何在IBM i (OS/400)操作系统下使用RPG程序连接到DB2数据库。该示例代码包括一个RPG程序文件和一个SQL预处理器程序文件。通过在RPG程序中调用SQL预处理器程序来实
IBM i (OS/400) V7R4
ILE RPG and C
2023-05-30 22:51
使用RPG程序连接IBM iOS/400数据库
该示例代码展示如何使用RPG程序连接IBM i(OS/400)数据库并进行数据操作,包括创建表、插入数据和查询数据。H ACTGRP(*CALLER) BNDDIR('QC2LE') D
IBM i 7.4
RPG(Report Program Generator)
2023-04-25 18:06
IBM i (OS/400)如何使用RPG程序连接Oracle数据库
本文介绍了如何在IBM i(OS/400)操作系统中使用RPG程序连接到Oracle数据库。通过使用扩展外部描述符(EXTDESC)指令来定义外部数据结构,以便与Oracle数据库进行交互。同时,指导
IBM i 7.4
RPG IV
2023-04-30 13:32
IBM i (OS/400)如何执行RPG程序
如果您是IBM i操作系统的用户,您可能需要执行一些针对RPG编程语言编写的程序。在这篇文章中,我们将向您展示如何在IBM i上执行RPG程序,包括示例代码、代码释义和总结。示例代码以下是一些简单
IBM i 7.4
IBM i (OS/400)
2023-04-02 18:15
如何使用IBM i (OS/400)编写RPG程序
IBM i (OS/400)是IBM公司推出的一款企业级操作系统,其中包含了RPG编程语言,可用于开发大型企业级应用程序。下面将介绍如何使用IBM i (OS/400)编写RPG程序。 示例代码下
IBM i 7.4, Rational Developer for i 9.7
Rational Developer for i 9.7
2023-03-14 04:35
使用IBM i (OS/400)执行RPG程序
IBM i(先前称为OS/400)是IBM的操作系统,广泛用于企业应用程序。本示例演示了如何在IBM i上执行RPG(Report Program Generator)程序,这是一种常见的编程语言,用
IBM i (OS/400)
RPG编程环境
2023-11-01 06:52
如何IBM i (OS/400)中使用RPG程序
本文将介绍如何在IBM i (OS/400)中使用RPG程序。RPG程序是一种高级编程语言,可以用于批处理和文件IO操作。本文将提供一些示例代码和代码释义,以帮助读者更好地理解RPG程序的使用。批处
任意版本
RPGLE
2023-04-06 14:02
IBM i (OS/400)中使用RPG程序连接MySQL数据库
本示例展示如何使用RPG程序在IBM i (OS/400)系统中连接MySQL数据库,并进行读写操作。使用IBM i (OS/400)自带的JDBC驱动程序进行连接,并通过sample数据表进行增删改
IBM i (OS/400) V7R3
RPG程序
2023-05-28 10:09
如何使用 IBM i (OS/400) 连接 DB2 数据库
本示例代码将展示如何在 IBM i (OS/400) 上使用 DB2 数据库。通过链接到数据库,你可以使用 SQL 命令来执行对数据的查询、插入、更新和删除操作。/* 连接到数据库 */QSQ
IBM i 7.4
IBM i (OS/400)
2023-05-22 07:56
如何IBM iOS/400)中使用RPG程序连接到MySQL数据库
本示例展示了如何使用RPG程序连接到MySQL数据库,包括如何设置连接字符串和执行简单的SELECT语句。我们将使用IBM i(OS/400)上的Rational Developer for i编写程
IBM i 7.4
Rational Developer for i
2023-03-30 18:54