欢迎来到天天文库
浏览记录
ID:34429324
大小:183.88 KB
页数:5页
时间:2019-03-06
《linux下的oracle编程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux下的Oracle编程技术李俊平薛海燕周光明深圳职业技术学院计算机应用工程系,广东深圳518055Tearfalls手打,本文版权归原作者所有摘要:本文探讨了在Linux操作系统下用C和Java语言访问Oracle数据库的几种方法,通过实例源代码的形式介绍了Pro*C、JDBC和SQLJ等关键技术的简单原理以及在Oracle数据库编程中的实际应用。关键词:Oracle;Pro*C;JDBC;SQLJ中图分类号:TP39;文献标识码:BProgrammingForOracleOnLinuxSystemLIJun-PingXueHai-YanZho
2、uGuang-MingAppliedComputerEngineeringDepartmentofShenzhenPolytechnicShenzhen518055Abstract:ThisarticlediscussseveralmethodsofqueryingOracledatabasebyusingCandJavalanguageonLinux,introducethetechnologyofPro*C,JDBCandSQLJandits’applicationsinOracledatabaseprogramming.Keywords:Orac
3、le;Pro*C;JDBC;SQLJ1引言Oracle数据库系统功能强大而完善,是在关键业务中运用最为广泛的数据库系统。在Oracle数据库系统中,我们一般是利用PL/SQL语言编制各种脚本来完成数据库的日常维护、备份、优化等管理工作。但是,由于PL/SQL是一种Oracle数据库系统内置的脚本语言,所以不能用来开发面向普通用户的应用程序,发布借助其他语言或开发工具。在Windows操作系统下,我们可以用VB、Delphi等可视化开发工具配合ODBC或ADO等中间件来开发Oracle数据库的前端应用程序。那么在Linux操作系统下应该用什么语言或开发工
4、具来进行Oracle数据库应用的开发呢?本文将介绍人三种方案:Pro*C、JDBC和SQLJ。2环境设置(1)软件设置本文的实验环境是在RedHatLinux8.0操作系统下,Oracle8.1.7.0.1作为数据库环境。Oracle8i在Linux下的安装已经有很多文章谈及,这里只说明一点,就是Oracle8i的典型安装不包括Pro*C,需要在定制安装方式下将开发工具中的Pro*C选中。JDK笔者安装的是J2SE1.4.1ForLinux。(2)Oracle用户的环境变量设置为了方便,本文的操作都是在Linux下以Oracle用户登录的。在Oracl
5、e用户的.bash_profile文件中必须设置JAVA环境(Java主目录)、JDBC和SQLJ的编译和运行环境(Java相关库的路径)以及搜索路径(Java和Oracle目录中的bin目录)。(3)建立实验用户和数据建立一个新的Oracle用户test,然后在新用户下建一个记录学生成绩的student表,该表很简单,只有三个字段:id、name、score。然后向student表中添加一些实验数据。3Pro*C编程Oracle的Pro*C预编译器是一个可以让你在C语言程序中嵌入SQL语句的编程工具。Pro*C预编译器在预编译过程中,将嵌入的SQL语
6、句转换成对标准Oracle运行库的调用,从而生成预编译过的源代码,然后再进行通常的编译、连接后就可以运行了。OraclePro*C预编译器使我们可以在应用程序中使用强大灵活的SQL,通过这个接口,我们就可以在C语言程序中直接访问Oracle数据库。用Pro*C编程分为三步:(1)首先建立后缀名为.pc的内嵌SQL语句的C源程序文件:$vistu.pc(2)对源程序stu.pc进行预编译,生成纯C源程序stu.c$procPARSE=NONEstu.pc(3)编译该C程序,并加入Oracle的客户端动态链接库,生成可执行文件stu$gcc–ostustu
7、.c$ORACLE_HOME/lib/libclntsh.so以下是stu.pc的源程序,该程序的功能是根据用户输入的ID号,查询student表中学生的姓名和成绩。#includeEXECSQLINCLUDESQLCA;Voidmain(){EXECSQLBEGINDECLARESECTION;/*声明宿主变量*/VARCHARusr[20],pass[20],serv[20];charname[8];intid,score;EXECSQLENDDECLARESECTION;strcpy(usr.arr,“test”);/*设置连接
8、数据库的用户名、密码和数据库服务名*/usr.len=(unsignedshort)strle
此文档下载收益归作者所有