1,Oracle客戶端切換成Oracle8i版本,比如8.1.6或者8.1.7;
成都創(chuàng)新互聯(lián)長期為上1000+客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為寶山企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站設計,寶山網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
2,確認操作系統(tǒng)環(huán)境中Path有以下路徑:C:\Program Files (x86)\Common Files\Borland Shared\BDE;(注:SQLORA32.DLL 和 SQLORA8.DLL 均在此目錄下);
3,配置Oracle客戶端net服務,確認服務名;
4,按你上圖修改SERVER_NAME為Oracle net服務名;
5,在Databases標簽頁建立BDE的Oracle測試;雙擊進行測試;
java連接Oracle11G:
1,找到驅動包,在oracle安裝目錄下我的是D:\Oracle\product\11.1.0\db_1\jdbc\lib;此目錄下有ojdbc5.jar,ojdbc6.jar,如果jdk5就用5,6就用6;
2,配置驅動包的變量(我把驅動包拷出來,放在d:\java\util里面),配置后上面MYSQL的類似。
3,測試代碼:
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
public class JDBCOracle{
// 定義數(shù)據(jù)庫驅動程序
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
// 定義數(shù)據(jù)庫的連接地址
public static final String DBURL = "jdbc:oracle:thin:@localhost:端口號:數(shù)據(jù)庫標識符" ;
//端口號后標識符可以通過在doc下運行l(wèi)snrctl status查看 default:1521
// 數(shù)據(jù)庫的連接用戶名
public static final String DBUSER = "scott" ;
// 數(shù)據(jù)庫的連接密碼
public static final String DBPASS = "tiger" ;
public static void main(String args[]) throws Exception{ // 所有異常拋出
Connection conn = null ; // 數(shù)據(jù)庫連接
Class.forName(DBDRIVER) ; // 加載驅動程序
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
PreparedStatement pstmt = null ;
String sql = "INSERT INTO person(id,name,age,birthday) VALUES (myseq.nextVal,?,?,?)" ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,"tomcat") ;
pstmt.setInt(2,30) ;
pstmt.setDate(3,new java.sql.Date(new java.util.Date().getTime())) ;
pstmt.executeUpdate() ; // 執(zhí)行更新操作
pstmt.close() ;
conn.close() ; // 數(shù)據(jù)庫關閉
}
};
oracle有很多版本?,F(xiàn)在一般用oracle9i數(shù)據(jù)庫.
如果聯(lián)接oracle9i的話,你要去網(wǎng)上下載一個oracle9i的驅動包。不下載的話在oracle9i的安裝目錄下面有一個自帶的class12.jar包。這個就是驅動包了.你也可以用自帶的包
如果用oracle10g的話就去網(wǎng)上下載一個驅動包,這是包的問題
聯(lián)接數(shù)據(jù)庫的話就些代碼吧.
在Linux機器上安裝運行Oracle 摘要:Oracle于去年年底宣布移植Oracle 8和Oracle Application Server到Linux。 這是一個明確無誤的標志:整個世界都應該認識到,Linux已經(jīng)是一個嚴肅的操作系統(tǒng),足以承擔企業(yè)級的應用。 Uche Ogbuji在下文中解釋了應該如何安裝、配置和初步使用Oracle 8 for Linux。
如何在你的Linux機器上安裝運行Oracle
一篇實用指導
經(jīng)過了許多謠傳和暗示之后,Oracle于1998年10月7日發(fā)布了Linux上的Oracle 8數(shù)據(jù)庫和Oracle Application Server。這是Linux近期歷史中最為耀眼的一幕。
無論您個人對Oracle公司的看法如何,該公司在大規(guī)模數(shù)據(jù)應用領域的巨大聲譽使這次產(chǎn)品發(fā)布成為一個明確 無誤的標志:整個世界都應該認識到,Linux已經(jīng)是一個嚴肅的操作系統(tǒng),足以承擔企業(yè)級的應用。
但對于任何真正關心Linux的人來說,各種宣傳攻勢只是過眼煙云,只有代碼才是關鍵的。(only code matters. 譯注:事實上,Oracle 8i, 即8.1.5 for Linux已經(jīng)開發(fā)完成,但其中的JServer模塊有問題,所以Oracle還沒有發(fā)布。)
開始行動
在RedHat上安裝Oracle可以是相當輕而易舉的,但要是完全跟著Oracle公司的文檔走就未必那么容易了 。最快的捷徑是Tom Bisset的主頁:
。
如果您看了Tom的主頁,那么您會注意到他漏了JDBC的安裝。如果您準備使用JDBC(對于跨平臺的Oracle應用十分方便),只需在安裝屏幕要求您選擇組件(components)時,加上該選項即可。當然,您應該先裝好JDK。我個人使用Blackdown的JDK 1.1.7。(譯注:Redhat包括JDK)然后需要設置oracle用戶的ClassPath環(huán)境變量,最好的辦法是在oracle用戶目錄的.bash_profile 或 .profile中加上一句:
CLASSPATH=/usr/lib/jdk/lib/classes.zip; export CLASSPATH然后,如果您只需做Web Applet的話,在安裝程序"Choose JDBC Components"的時候, 選擇"JDK 1.1 JDBC Thin Driver",如果您需要做完整的Java應用,選擇"JDK 1.1 JDBC OCI Driver"。
另外請注意:安裝程序讓您輸入各口令時,如果口令不符合規(guī)范,不會警告。我第一次安裝時,口令里加了".",這在UNIX中是允許的,Oracle就是另一碼事了。直到安裝快結束時,程序才告訴我口令有問題。當時為保險 起見,我從頭做了一次安裝。
安裝程序的另一個問題是試圖往還沒有建立的目錄里拷貝文件。有必要在安裝前
mkdir -p /u01/app/oracle/product/8.0.5/doc/server.805/install。
這一關過后萬事大吉。
安裝成功后,必須以ROOT身份登錄,運行root.sh。我對root.sh作了以下改動:
· LBIN環(huán)境變量從/usr/lbin改成了/usr/local/bin
· 增加環(huán)境變量LOG=/tmp/oracle-root.sh.log,這樣腳本的運行結果會記錄下來
root.sh里說到,要想數(shù)據(jù)庫作為一個服務器運行,必須先設定TWO_TASK變量;
但是,事實上如果從安裝Oracle的機器上運行root.sh,就沒有必要設這個變量。
Python和Oracle
我配置了一下python(譯注:一種強大,快速的面向對象的腳本語言),以測試Oracle的編程接口和網(wǎng)絡接口 。在python中要連Oracle,需要Digital Creation(Zope應用服務器的作者)的DCOracle模塊。
您只需下載軟件并按照指示照做就行。如果是DCOracle 1.1.0,使用Setup-8.0.4的配置,從ORACLE_LIBS變量中刪去-lsocket, -lnsl, -lgen, -lelf, -laio, 和-lposix4即可,那些都是Solaris專用的。注意Redhat 5.2和6.0中安裝的 python設置不全,config目錄和include目錄被省略,無法編譯安裝第三方的模塊。您必須自己編譯python或者下載一個合適的RPM。找python的RPM,最好的去處可能是Oliver Andrich的 Python Linux主頁。
只要rpm -e --nodeps python, 然后 rpm -i python,python-dev和其他RPM即可。
裝好python后,我運行了以下的基本查詢,訪問Oracle。
[uche@malatesta uche]$ python
Python 1.5.1 (#1, Sep 3 1998, 22:51:17) [GCC 2.7.2.3] on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
import DCOracle
#connect to DB. scott/tiger are the test database username/password
dbc=DCOracle.Connect("scott/tiger@sforza") #sforza is the local
Oracle
server
c = dbc.cursor()
c.execute("SELECT * FROM emp WHERE emp.deptno = 10")
rows = c.fetchall()
print rows
[(7782, CLARK, MANAGER, 7839, dbiDate(1981-06-09 00:00:00), 2450.0,
None, 10),
(7839, KING, PRESIDENT, None, dbiDate(1981-11-17 00:00:00), 5000.0,
None, 10),
(7934, MILLER, CLERK, 7782, dbiDate(1982-01-23 00:00:00), 1300.0,
None, 10)]
開發(fā)工作站配置
我在數(shù)據(jù)庫服務器以外的一臺機器上編譯安裝了python和其他編程接口。最初,看起來似乎我必須安裝Oracle 的所有PRO*C/C++軟件包。但要把Oracle安裝程序運行到那一步也夠麻煩的,所以我不想那樣辦。于是我找出了寫程序所需
要的最小限量的頭文件(include)、對象文件(object)和庫文件(library):
$ORACLE_HOME/lib/*
$ORACLE_HOME/rdbms/demo/*
$ORACLE_HOME/rdbms/lib/*
我的機器上設ORACLE_HOME為/usr/local/oracle。
注意這些文件還不能讓您可以在C程序中直接嵌入SQL語句,只有完整安裝PRO*C/C++后才行。如果要用JAVA的話,還得增加$ORACLE_HOME/jdbc/lib/*;注意把這個目錄加到ClASSPATH變量中。
JDBC連接
為測試JDBC連接,我作了一個小程序,在一個listbox內顯示測試庫中的所有雇員名。下面的程序1是調用JDBC的java Applet,程序2是調用JAVA程序的HTML超文本。如果您的JDBC已經(jīng)安裝成功,將程序1拷貝為 JDBCTest.java,將程序2拷貝為JDBCTest.html,
然后:
javac JDBCTest.java
appletviewer JDBCTest.html
您就可以自己看看結果如何了:
程序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
{
//Single-select ListBox
private List employee_list = new List(5, false)
public void init()
{
setLayout(new BorderLayout());
try {
//Set up the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//Connect to an Oracle database on machine sforza, using username
//"scott" and password "tiger"
Connection DB_conn = DriverManager.getConnection
("jdbc:oracle:thin:@sforza:1521:ORCL", "scott", "tiger");
//Connection DB_conn = DriverManager.getConnection
("jdbc:oracle:thin:scott/tiger@sforza:1521:ORCL");
//Create a JDBC statement object
Statement statement_obj = DB_conn.createStatement();
//Execute a query to get the employee names from the test DB
ResultSet results = statement_obj.executeQuery ("select ENAME from
EMP");
//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);
}
}