Windows下編譯Oracle驅(qū)動
為郯城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及郯城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計、郯城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
打開工程:
C:\Qt\4.8.1\src\plugins\sqldrivers\oci
修改oci.pro:
TARGET = qsqloci
SOURCES = main.cpp
include(../../../sql/drivers/oci/qsql_oci.pri)
include(../qsqldriverbase.pri)
INCLUDEPATH += D:\oracle2\product\11.2.0\dbhome_1\OCI\include
LIBPATH += D:\oracle2\product\11.2.0\dbhome_1\OCI\lib\MSVC
編譯完成后,拷貝庫文件到:
C:\Qt\4.8.1\plugins\sqldrivers
qsqloci4.lib
qsqlocid4.lib
qsqloci4.dll
qsqlocid4.dll
Linux下編譯Oracle驅(qū)動
打開工程:
/usr/local/qt-4.5.2/src/plugins/sqldrivers/oci
查看并修改工程文件oci.pro :
[d5000@CentOS6-64 oci]$ cat oci.pro
TARGET = qsqloci
HEADERS = ../../../sql/drivers/oci/qsql_oci.h
SOURCES = main.cpp \
../../../sql/drivers/oci/qsql_oci.cpp
LIBPATH += /u01/app/oracle/lib
win32:LIBS *= -loci
unix:!contains( LIBS, .*clnts.* ):LIBS *= -lclntsh
macx:QMAKE_LFLAGS += -Wl,-flat_namespace,-U,_environ
include(../qsqldriverbase.pri)
編譯完成后拷貝到相應(yīng)目錄。
在Linux機器上安裝運行Oracle 摘要:Oracle于去年年底宣布移植Oracle 8和Oracle Application Server到Linux。 這是一個明確無誤的標(biāo)志:整個世界都應(yīng)該認(rèn)識到,Linux已經(jīng)是一個嚴(yán)肅的操作系統(tǒng),足以承擔(dān)企業(yè)級的應(yīng)用。 Uche Ogbuji在下文中解釋了應(yīng)該如何安裝、配置和初步使用Oracle 8 for Linux。
如何在你的Linux機器上安裝運行Oracle
一篇實用指導(dǎo)
經(jīng)過了許多謠傳和暗示之后,Oracle于1998年10月7日發(fā)布了Linux上的Oracle 8數(shù)據(jù)庫和Oracle Application Server。這是Linux近期歷史中最為耀眼的一幕。
無論您個人對Oracle公司的看法如何,該公司在大規(guī)模數(shù)據(jù)應(yīng)用領(lǐng)域的巨大聲譽使這次產(chǎn)品發(fā)布成為一個明確 無誤的標(biāo)志:整個世界都應(yīng)該認(rèn)識到,Linux已經(jīng)是一個嚴(yán)肅的操作系統(tǒng),足以承擔(dān)企業(yè)級的應(yīng)用。
但對于任何真正關(guān)心Linux的人來說,各種宣傳攻勢只是過眼煙云,只有代碼才是關(guān)鍵的。(only code matters. 譯注:事實上,Oracle 8i, 即8.1.5 for Linux已經(jīng)開發(fā)完成,但其中的JServer模塊有問題,所以O(shè)racle還沒有發(fā)布。)
開始行動
在RedHat上安裝Oracle可以是相當(dāng)輕而易舉的,但要是完全跟著Oracle公司的文檔走就未必那么容易了 。最快的捷徑是Tom Bisset的主頁:
。
如果您看了Tom的主頁,那么您會注意到他漏了JDBC的安裝。如果您準(zhǔn)備使用JDBC(對于跨平臺的Oracle應(yīng)用十分方便),只需在安裝屏幕要求您選擇組件(components)時,加上該選項即可。當(dāng)然,您應(yīng)該先裝好JDK。我個人使用Blackdown的JDK 1.1.7。(譯注:Redhat包括JDK)然后需要設(shè)置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應(yīng)用,選擇"JDK 1.1 JDBC OCI Driver"。
另外請注意:安裝程序讓您輸入各口令時,如果口令不符合規(guī)范,不會警告。我第一次安裝時,口令里加了".",這在UNIX中是允許的,Oracle就是另一碼事了。直到安裝快結(jié)束時,程序才告訴我口令有問題。當(dāng)時為保險 起見,我從頭做了一次安裝。
安裝程序的另一個問題是試圖往還沒有建立的目錄里拷貝文件。有必要在安裝前
mkdir -p /u01/app/oracle/product/8.0.5/doc/server.805/install。
這一關(guān)過后萬事大吉。
安裝成功后,必須以ROOT身份登錄,運行root.sh。我對root.sh作了以下改動:
· LBIN環(huán)境變量從/usr/lbin改成了/usr/local/bin
· 增加環(huán)境變量LOG=/tmp/oracle-root.sh.log,這樣腳本的運行結(jié)果會記錄下來
root.sh里說到,要想數(shù)據(jù)庫作為一個服務(wù)器運行,必須先設(shè)定TWO_TASK變量;
但是,事實上如果從安裝Oracle的機器上運行root.sh,就沒有必要設(shè)這個變量。
Python和Oracle
我配置了一下python(譯注:一種強大,快速的面向?qū)ο蟮哪_本語言),以測試Oracle的編程接口和網(wǎng)絡(luò)接口 。在python中要連Oracle,需要Digital Creation(Zope應(yīng)用服務(wù)器的作者)的DCOracle模塊。
您只需下載軟件并按照指示照做就行。如果是DCOracle 1.1.0,使用Setup-8.0.4的配置,從ORACLE_LIBS變量中刪去-lsocket, -lnsl, -lgen, -lelf, -laio, 和-lposix4即可,那些都是Solaris專用的。注意Redhat 5.2和6.0中安裝的 python設(shè)置不全,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ù)庫服務(wù)器以外的一臺機器上編譯安裝了python和其他編程接口。最初,看起來似乎我必須安裝Oracle 的所有PRO*C/C++軟件包。但要把Oracle安裝程序運行到那一步也夠麻煩的,所以我不想那樣辦。于是我找出了寫程序所需
要的最小限量的頭文件(include)、對象文件(object)和庫文件(library):
$ORACLE_HOME/lib/*
$ORACLE_HOME/rdbms/demo/*
$ORACLE_HOME/rdbms/lib/*
我的機器上設(shè)ORACLE_HOME為/usr/local/oracle。
注意這些文件還不能讓您可以在C程序中直接嵌入SQL語句,只有完整安裝PRO*C/C++后才行。如果要用JAVA的話,還得增加$ORACLE_HOME/jdbc/lib/*;注意把這個目錄加到ClASSPATH變量中。
JDBC連接
為測試JDBC連接,我作了一個小程序,在一個listbox內(nèi)顯示測試庫中的所有雇員名。下面的程序1是調(diào)用JDBC的java Applet,程序2是調(diào)用JAVA程序的HTML超文本。如果您的JDBC已經(jīng)安裝成功,將程序1拷貝為 JDBCTest.java,將程序2拷貝為JDBCTest.html,
然后:
javac JDBCTest.java
appletviewer JDBCTest.html
您就可以自己看看結(jié)果如何了:
程序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);
}
}
一:導(dǎo)入到j(luò)ava project項目中:
1、打開eclipse,并建立web項目“Test_Java_Project”,
2、右鍵單擊“Test_Java_Project”項目,找到Build Path -- Add External Archives...,并將其左鍵打開
3、在新彈出的窗口中,前往oracle安裝目錄,找到如下路徑(小編的安裝路徑):D:\Oracle\app\oracle\product\11.2.0\server\jdbc\lib\
找到ojdbc6.jar這以jar文件,并選中,然后單擊“打開”。
4、導(dǎo)入成功,這下就可以進行開發(fā)了
二:導(dǎo)入到Java Web項目中:
1、打開eclipse,并建立web項目“Test_Java_Web”(該過程可參閱小編另一篇相關(guān)經(jīng)驗),
2、前往oracle安裝目錄,找到如下路徑(小編的安裝路徑):D:\Oracle\app\oracle\product\11.2.0\server\jdbc\lib\
找到ojdbc6.jar這以jar文件,并將其復(fù)制,
3、在eclipse的“Test_Java_Web”項目中,找到:WebContent -- WEB-INF -- lib,并將上一步復(fù)制的ojdbc6.jar復(fù)制到lib下:
這樣導(dǎo)入過程就完成了。
分享文章:oracle驅(qū)動怎么編 oracle驅(qū)動類名
標(biāo)題路徑:http://m.newbst.com/article38/hpohpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站維護、標(biāo)簽優(yōu)化、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)