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


所属类别:linux

摘要内容:您就可以自己看看结果如何了:程序1:/*Applet that reads in several rows from a (详细内容)

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


您就可以自己看看结果如何了: 程序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中。

相关信息

·  Linux内核守护者来了

· inno setup教程,强烈推荐用inno setup打包VB软件,免费!压缩率高、使用简单

· TRULY Understanding ViewState

· 人因风雷手多媒体盘








....

80706 77336