在Linux機器上安裝執行Oracle(二)(轉)
在Linux機器上安裝執行Oracle(二)[@more@]您就可以自己看看結果如何了:
程式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中。
程式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中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-952510/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Linux機器上安裝執行Oracle(三)(轉)LinuxOracle
- 如何在你的Linux機器上安裝執行OracleLinuxOracle
- linux虛擬機器執行機必安裝Linux虛擬機
- 在linux上安裝oracle10g(轉載)LinuxOracle
- Oracle在Linux上的安裝OracleLinux
- 轉:在Linux上執行WinFormLinuxORM
- JMeter:Linux上安裝&執行JMeterJMeterLinux
- 在Oracle817上安裝java虛擬機器詳細步驟(轉)OracleJava虛擬機
- 在Oracle Linux 7.1上安裝DockerOracleLinuxDocker
- 透明的閘道器:在Linux上執行IPchains(轉)LinuxAI
- Clojure執行環境在windows上安裝Windows
- 在VMware上安裝CentOS版本的Linux虛擬機器CentOSLinux虛擬機
- 在虛擬機器VMware上安裝Linux系統教程虛擬機Linux
- 在Oracle Linux 6.6上安裝Oracle 12cOracleLinux
- 在Redhat 9上安裝 Oracle 817心(轉)RedhatOracle
- 在 Red Hat Linux 9 上安裝 Oracle9i Database(轉)LinuxOracleDatabase
- 在掌上電腦HPiPAQ上執行Linux(轉)Linux
- linux上安裝oracleLinuxOracle
- 在oracle linux 5.6上安裝oracle 11g RACOracleLinux
- 在NetBSD/i386上執行Oracle(轉)Oracle
- 在TurboLinux上的安裝 Informix for Linux(轉)LinuxORM
- oracle9i在Red Hat Linux7.3上的安裝(轉)OracleLinux
- 在RedHat EL AS 3上安裝Oracle9.2.0(轉)RedhatOracle
- Oracle 9i 在AIX上的安裝 (轉)OracleAI
- 在 Linux 上安裝安卓 8.1 Oreo 來執行應用程式和遊戲Linux安卓遊戲
- 在 Ubuntu 上安裝 .NET SDK 或 .NET 執行時Ubuntu
- Linux執行環境安裝全解(轉)Linux
- 在Linux上安裝gskitLinux
- 在Linux上安裝postgresqlLinuxSQL
- 在 Linux 上安裝 PostgreSQLLinuxSQL
- 在 Linux 上安裝 NDB Cluster 二進位制版本Linux
- 在Linux上安裝Sybase的注意事項(轉)Linux
- 在Linux上不帶硬體安裝Asterisk(轉)LinuxAST
- 在linux虛擬機器上安裝10g rac注意事項Linux虛擬機
- 在Radhat 5 上安裝Oracle 10g(轉)Oracle 10g
- 在Ubuntu上安裝openssh(轉)Ubuntu
- 在linux下安裝mozilla和konquerer的java虛擬機器(轉)LinuxJava虛擬機
- Alpha上安裝Linux(轉)Linux