• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在Linux机器上安装运行Oracle(二)

发布: 2007-7-01 23:30 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 您就可以自己看看结果如何了:

程序1:

/*
Applet that reads in several rows from a remote Oracle database and presents them in a listbox.
*/
import java.sql.*;
import java.awt.*;
import java.applet.*;
import java.lang.*;
public class JDBCTest extends Applet
{
file://Single-select ListBox
private List employee_list = new List(5, false)
public void init()
{
setLayout(new BorderLayout());
try {
file://Set up the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
file://Connect to an Oracle database on machine sforza, using username
file://"scott" and password "tiger"
Connection DB_conn = DriverManager.getConnection
("jdbc:oracle:thin:@sforza:1521:ORCL", "scott", "tiger");
file://Connection DB_conn = DriverManager.getConnection
("jdbc:oracle:thin:scott/tiger@sforza:1521:ORCL");
file://Create a JDBC statement object
Statement statement_obj = DB_conn.createStatement();
file://Execute a query to get the employee names from the test DB
ResultSet results = statement_obj.executeQuery ("select ENAME from EMP");
file://Populate the list box with all the employee names
while (results.next ()){
employee_list.add(results.getString(1));
}
} catch (SQLException e) {
throw new RuntimeException("SQL Exception " + e.getMessage());
}
add(employee_list);
}
}
程序2:

Oracle JDBC driver test

   程序1的大部分都是与具体数据库无关的JDBC调用,依样画葫芦您也可以访问PostgresQL,主要和Oracle相关的部分是:

Connection DB_conn = DriverManager.getConnection
("jdbc:oracle:thin:@sforza:1521:ORCL", "scott", "tiger");

   注意 Oracle thin JDBC driver中URI的格式:

jdbc:oracle:thin:@::
   如果您想在URI中包括用户名和口令的话:

jdbc:oracle:thin:username/password@::


   同样的URI还有一个较长的格式:

"jdbc:oracle:thin:@(description=(address=(host= _IP>)(protocol
=tcp)(port=))(connect_data=(sid=)))"

   注意ORCL是系统安装的缺省SID(System Identifier,系统标识符)。如果您在安装时使用了其他的SID,在URI里也用那个SID。$ORACLE_HOME.network/admin/tnsnames.ora包括了Oracle服务器的端口和SID设置。这是TNS Listener,Oracle网络连接进程的配置文件。如果您无法通过网络连接数据库的话,首先应该检查端口号和SID是否正确,TNS listner是否正常(译注:lsnrctl status,或者tnsping)。JDBC并不是开发SQL数据库应用的唯一手段,ANSI标准SQLJ允许在JAVA程序中直接嵌入SQL语句。Oracle for Linux 8.0.5并没有捆绑SQLJ,但可以作为另一个独立产品获得。SQLJ是100%的JAVA,应该在Linux上运行没有问题,事实上SQLJ在底层使用的就是JDBC,因此可以同任何SQL数据库互联,并不限于Oracle。

   希望上面的这些例子能对您的编程有所帮助。可惜Oracle for Linux 的编程文档相当的少,要不就是隐藏得十分深:) 也许在数据库编程得心应手之前,您得先啃它一两本书。
PL/SQL

   对SQL的过程性语言扩展(PL/SQL)可能是Oracle最著名的特点。这种强大的专业数据库管理语言允许您对声明性的SQL加逻辑控制。

   一般,PL/SQL的存储过程(stored procedure)用命令行的sqlplus,图形化的Developer/2000(Linux上目前还没有)或其他工具开发,允许您从Oracle众多的查询接口(Oracle Application Server, Python, Perl,JDBC 或者C)访问。

程序3:

create or replace package stored_sample as
function get_annual_salary (emp_number in number) return number;
end stored_sample;
/
create or replace package body stored_sample as
function get_annual_salary (emp_number in number) return number
is
annual_salary number;
monthly_salary number;
begin
select sal into monthly_salary from emp where empno = emp_number;
annual_salary := monthly_salary * 24;
return (annual_salary);
end get_annual_salary;
end stored_sample;
/

   上面的程序3是存储进程的一个小示范,它接受一个员工号,返回该员工的年薪。相关的函数get_annual_salary封装在PL/SQL包sample_package中。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网