intellij只是一個(gè)java開(kāi)發(fā)環(huán)境軟件吧?
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括蕭縣網(wǎng)站建設(shè)、蕭縣網(wǎng)站制作、蕭縣網(wǎng)頁(yè)制作以及蕭縣網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蕭縣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到蕭縣省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
1.如果是說(shuō)java程序與ORACLE連接的驅(qū)動(dòng),任何java環(huán)境新建的java項(xiàng)目都一個(gè)通過(guò)在lib目錄里新增ojdbc.jar包,寫(xiě)一個(gè)java類(lèi)訪問(wèn)ORACLE。
2.如果是說(shuō)在intellij里配置sql開(kāi)發(fā)環(huán)境,這個(gè)沒(méi)有研究過(guò),祝好運(yùn)。
方法如下:
點(diǎn)擊windows--other--DB browser,點(diǎn)擊OK。就可以顯示數(shù)據(jù)庫(kù)瀏覽窗口了
在DB browser中右鍵鼠標(biāo),點(diǎn)擊new --在彈出界面中選擇驅(qū)動(dòng)模板為oracle,
再填入驅(qū)動(dòng)名,連接URL地址,數(shù)據(jù)庫(kù)的登錄賬號(hào)和密碼,然后點(diǎn)擊add jars ,導(dǎo)入oracle數(shù)據(jù)庫(kù)的jar包,輸入????Driver classname, 啟動(dòng)oracle數(shù)據(jù)庫(kù)的服務(wù),點(diǎn)擊test Driver可以測(cè)試一下數(shù)據(jù)庫(kù)的連接。然后點(diǎn)擊finish就行了
如果要在web工程里面通過(guò)代碼連接數(shù)據(jù)庫(kù)的話(huà),首先還是導(dǎo)入oracle的驅(qū)動(dòng)jar包,然后寫(xiě)正確的數(shù)據(jù)庫(kù)連接代碼就行了。保證oracle的各項(xiàng)服務(wù)都能正常啟動(dòng)。
在Linux機(jī)器上安裝運(yùn)行Oracle 摘要:Oracle于去年年底宣布移植Oracle 8和Oracle Application Server到Linux。 這是一個(gè)明確無(wú)誤的標(biāo)志:整個(gè)世界都應(yīng)該認(rèn)識(shí)到,Linux已經(jīng)是一個(gè)嚴(yán)肅的操作系統(tǒng),足以承擔(dān)企業(yè)級(jí)的應(yīng)用。 Uche Ogbuji在下文中解釋了應(yīng)該如何安裝、配置和初步使用Oracle 8 for Linux。
如何在你的Linux機(jī)器上安裝運(yùn)行Oracle
一篇實(shí)用指導(dǎo)
經(jīng)過(guò)了許多謠傳和暗示之后,Oracle于1998年10月7日發(fā)布了Linux上的Oracle 8數(shù)據(jù)庫(kù)和Oracle Application Server。這是Linux近期歷史中最為耀眼的一幕。
無(wú)論您個(gè)人對(duì)Oracle公司的看法如何,該公司在大規(guī)模數(shù)據(jù)應(yīng)用領(lǐng)域的巨大聲譽(yù)使這次產(chǎn)品發(fā)布成為一個(gè)明確 無(wú)誤的標(biāo)志:整個(gè)世界都應(yīng)該認(rèn)識(shí)到,Linux已經(jīng)是一個(gè)嚴(yán)肅的操作系統(tǒng),足以承擔(dān)企業(yè)級(jí)的應(yīng)用。
但對(duì)于任何真正關(guān)心Linux的人來(lái)說(shuō),各種宣傳攻勢(shì)只是過(guò)眼煙云,只有代碼才是關(guān)鍵的。(only code matters. 譯注:事實(shí)上,Oracle 8i, 即8.1.5 for Linux已經(jīng)開(kāi)發(fā)完成,但其中的JServer模塊有問(wèn)題,所以O(shè)racle還沒(méi)有發(fā)布。)
開(kāi)始行動(dòng)
在RedHat上安裝Oracle可以是相當(dāng)輕而易舉的,但要是完全跟著Oracle公司的文檔走就未必那么容易了 。最快的捷徑是Tom Bisset的主頁(yè):
。
如果您看了Tom的主頁(yè),那么您會(huì)注意到他漏了JDBC的安裝。如果您準(zhǔn)備使用JDBC(對(duì)于跨平臺(tái)的Oracle應(yīng)用十分方便),只需在安裝屏幕要求您選擇組件(components)時(shí),加上該選項(xiàng)即可。當(dāng)然,您應(yīng)該先裝好JDK。我個(gè)人使用Blackdown的JDK 1.1.7。(譯注:Redhat包括JDK)然后需要設(shè)置oracle用戶(hù)的ClassPath環(huán)境變量,最好的辦法是在oracle用戶(hù)目錄的.bash_profile 或 .profile中加上一句:
CLASSPATH=/usr/lib/jdk/lib/classes.zip; export CLASSPATH然后,如果您只需做Web Applet的話(huà),在安裝程序"Choose JDBC Components"的時(shí)候, 選擇"JDK 1.1 JDBC Thin Driver",如果您需要做完整的Java應(yīng)用,選擇"JDK 1.1 JDBC OCI Driver"。
另外請(qǐng)注意:安裝程序讓您輸入各口令時(shí),如果口令不符合規(guī)范,不會(huì)警告。我第一次安裝時(shí),口令里加了".",這在UNIX中是允許的,Oracle就是另一碼事了。直到安裝快結(jié)束時(shí),程序才告訴我口令有問(wèn)題。當(dāng)時(shí)為保險(xiǎn) 起見(jiàn),我從頭做了一次安裝。
安裝程序的另一個(gè)問(wèn)題是試圖往還沒(méi)有建立的目錄里拷貝文件。有必要在安裝前
mkdir -p /u01/app/oracle/product/8.0.5/doc/server.805/install。
這一關(guān)過(guò)后萬(wàn)事大吉。
安裝成功后,必須以ROOT身份登錄,運(yùn)行root.sh。我對(duì)root.sh作了以下改動(dòng):
· LBIN環(huán)境變量從/usr/lbin改成了/usr/local/bin
· 增加環(huán)境變量LOG=/tmp/oracle-root.sh.log,這樣腳本的運(yùn)行結(jié)果會(huì)記錄下來(lái)
root.sh里說(shuō)到,要想數(shù)據(jù)庫(kù)作為一個(gè)服務(wù)器運(yùn)行,必須先設(shè)定TWO_TASK變量;
但是,事實(shí)上如果從安裝Oracle的機(jī)器上運(yùn)行root.sh,就沒(méi)有必要設(shè)這個(gè)變量。
Python和Oracle
我配置了一下python(譯注:一種強(qiáng)大,快速的面向?qū)ο蟮哪_本語(yǔ)言),以測(cè)試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專(zhuān)用的。注意Redhat 5.2和6.0中安裝的 python設(shè)置不全,config目錄和include目錄被省略,無(wú)法編譯安裝第三方的模塊。您必須自己編譯python或者下載一個(gè)合適的RPM。找python的RPM,最好的去處可能是Oliver Andrich的 Python Linux主頁(yè)。
只要rpm -e --nodeps python, 然后 rpm -i python,python-dev和其他RPM即可。
裝好python后,我運(yùn)行了以下的基本查詢(xún),訪問(wèn)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)]
開(kāi)發(fā)工作站配置
我在數(shù)據(jù)庫(kù)服務(wù)器以外的一臺(tái)機(jī)器上編譯安裝了python和其他編程接口。最初,看起來(lái)似乎我必須安裝Oracle 的所有PRO*C/C++軟件包。但要把Oracle安裝程序運(yùn)行到那一步也夠麻煩的,所以我不想那樣辦。于是我找出了寫(xiě)程序所需
要的最小限量的頭文件(include)、對(duì)象文件(object)和庫(kù)文件(library):
$ORACLE_HOME/lib/*
$ORACLE_HOME/rdbms/demo/*
$ORACLE_HOME/rdbms/lib/*
我的機(jī)器上設(shè)ORACLE_HOME為/usr/local/oracle。
注意這些文件還不能讓您可以在C程序中直接嵌入SQL語(yǔ)句,只有完整安裝PRO*C/C++后才行。如果要用JAVA的話(huà),還得增加$ORACLE_HOME/jdbc/lib/*;注意把這個(gè)目錄加到ClASSPATH變量中。
JDBC連接
為測(cè)試JDBC連接,我作了一個(gè)小程序,在一個(gè)listbox內(nèi)顯示測(cè)試庫(kù)中的所有雇員名。下面的程序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);
}
}
Windows下編譯Oracle驅(qū)動(dòng)
打開(kāi)工程:
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
編譯完成后,拷貝庫(kù)文件到:
C:\Qt\4.8.1\plugins\sqldrivers
qsqloci4.lib
qsqlocid4.lib
qsqloci4.dll
qsqlocid4.dll
Linux下編譯Oracle驅(qū)動(dòng)
打開(kāi)工程:
/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)目錄。
SUN定義的四種JDBC驅(qū)動(dòng)程序標(biāo)準(zhǔn):
? Type1 JDBC-ODBC橋
適用于快速的原型系統(tǒng),沒(méi)有提供JDBC驅(qū)動(dòng)的數(shù)據(jù)庫(kù)如Access
? Type2 JAVA to Native API
利用開(kāi)發(fā)商提供的本地庫(kù)來(lái)直接與數(shù)據(jù)庫(kù)通信。
比Type1性能略好。
? Type3 Java to net
具有最大的靈活性,通常由那些非數(shù)據(jù)庫(kù)廠商提供,是四種類(lèi)型中最小的。
? Type4 JAVA to native dababase
最高的性能,通過(guò)自己的本地協(xié)議直接與數(shù)據(jù)庫(kù)引擎通信,具備在Internet裝配的能力
-----------------------------------------------------------------------------------------
Oracle 公司大力的發(fā)展Java,又許多東西都改為 Java Base的。在JDBC驅(qū)動(dòng)方面,斯中驅(qū)動(dòng)類(lèi)型全部都提供了,可以說(shuō)是最齊全的數(shù)據(jù)庫(kù)廠商
Oracle的JDBC驅(qū)動(dòng)為classes12.jar,如果Oracle安裝目錄為E:\Oracle而classes12.jar文件位于E:\oracle\product\10.2.0\db_1\jdbc\lib的路徑下。
Oracle目前有兩個(gè)驅(qū)動(dòng)程序可以供客戶(hù)端使用,兩個(gè)驅(qū)動(dòng)程序分別提供了Type2,Type3,Typ4的JDBC驅(qū)動(dòng)程序。令各驅(qū)動(dòng)程序分別為T(mén)hinDriver和OCI Driver。
l Thin Driver—Type3 or Type4 JDBC驅(qū)動(dòng)程序,100%Java的程序代碼。
OCIDriver—Type2 JDBC 驅(qū)動(dòng)程序,客戶(hù)端必須安裝有Oracle Client
-----------------------------------------------------------------------------
不論那一種Oracle JDBC驅(qū)動(dòng)程序。都是使用oracle.jdbc.driver.OracleDriver類(lèi)
--------------------------------------------------------------------------------
使用 import指令導(dǎo)入importjava.sql.*類(lèi)中的類(lèi)型。
定義數(shù)據(jù)庫(kù)連接使用的一些常量。如下:
publicclassConnectionManager {
privatestaticfinalStringDRIVER_CLASS = "oracle.jdbc.driver.OracleDriver";
privatestaticfinalStringDATABASE_URL = "jdbc:oracle:thin@localhost:1521:accp";
privatestaticfinalStringDATABASE_USRE = "student";
privatestaticfinalStringDATABASE_PASSWORD = "cs";
}
連接url種類(lèi)與寫(xiě)法:
Type2:jdbc:oracle:oci:@TNSNAMES
Type3:jdbc:oracle:thin:@url
Type4:jdbc:oracle:thin:@hostname:port:service