ORACLE調(diào)用接口(Oracle Call Interface簡稱OCI)提供了一組可對ORACLE數(shù)據(jù)庫進(jìn)行存取的接口子例程(函數(shù)),通過在第三代程序設(shè)計(jì)語言(如C語言)中進(jìn)行調(diào)用可達(dá)到存取ORACLE數(shù)據(jù)庫的目的。
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、酉陽土家族苗族ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的酉陽土家族苗族網(wǎng)站制作公司
在普通的情況下,用戶可以通過SQL和PL/SQL來訪問數(shù)據(jù)庫中的數(shù)據(jù)。ORACLE數(shù)據(jù)庫除了提供SQL和PL/SQL來訪問數(shù)據(jù)庫外,還提供了一個(gè)第三代程序設(shè)計(jì)語言的接口,用戶可以通過C、COBOL、FORTRAN等第三代語言來編程訪問數(shù)據(jù)庫。OCI就是為了實(shí)現(xiàn)高級(jí)語言訪問數(shù)據(jù)庫而提供的接口。OCI允許開發(fā)者在程序里使用SQL和PL/SQL來訪問數(shù)據(jù)庫。開發(fā)者可以使用第三代語言來編寫程序,而使用OCI來訪問數(shù)據(jù)庫。
完整的屏蔽代碼,還是屏蔽代碼的一部分,如果是完整的屏蔽代碼,那么用not in就行。
數(shù)字代碼,不應(yīng)該只是屏蔽一部分吧。
Oracle的utl_http包如何實(shí)現(xiàn)接口數(shù)據(jù)交互
以下是百度的一個(gè)示例腳本,需要把數(shù)據(jù)轉(zhuǎn)換成xml格式,請問應(yīng)該在哪里增加這個(gè)步驟?
DECLARE
req utl_http.req;
resp utl_http.resp;
l_clob CLOB;
l_buf_raw RAW(10000);
amount NUMBER := 9000;
VALUE VARCHAR2(1000);
l_process VARCHAR2(20);
l_req_blob BLOB;
l_buf_len_std NUMBER := 900;
l_buf_len_cur NUMBER;
l_bod_len NUMBER;
通過配置本地?cái)?shù)據(jù)庫的tns配置文件實(shí)現(xiàn):
去oracle安裝目錄下oracle\product\10.2.0\db_2\NETWORK\ADMIN\ 找到tnsnames.ora,用記事本打開,里邊有遠(yuǎn)程數(shù)據(jù)庫的tns連接配置串如下
ORCL23 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.23)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
添加好ip、端口和目標(biāo)數(shù)據(jù)庫的實(shí)例名(SID),然后確保tns名稱(ORCL23)在整個(gè)文檔中唯一,保存后打開數(shù)據(jù)庫連接工具,輸入遠(yuǎn)程數(shù)據(jù)庫上的用戶名密碼,選擇數(shù)據(jù)庫對象為你配置的連接名就可以了
java與oracle的接口:
在數(shù)據(jù)庫中運(yùn)行JAVA可以說是ORACLE8i的最令人激動(dòng)的新特性。在你創(chuàng)建的使用ORACLE8i 數(shù)據(jù)庫的應(yīng)用程序中,你可以使用與JAVA有關(guān)的新特征,輕松的將程序發(fā)布到INTERNET或INTRANET上。
Methods for Using Java in ORACLE
大家都知道JAVA在跨平臺(tái)開發(fā)與INTERNET開發(fā)中已經(jīng)比較流行,ORACLE8i及以后的版本中都包含了對在數(shù)據(jù)庫中運(yùn)行JAVA的擴(kuò)展支持,這里有兩種方法可以使用:
JDBC:與ODBC類似, JDBC 提供了一個(gè)驅(qū)動(dòng)接口使你可以在JAVA程序中訪問數(shù)據(jù)庫。注:JDBC驅(qū)動(dòng)內(nèi)嵌在數(shù)據(jù)庫中虛擬機(jī)中。
SQLJ:是一個(gè)JAVA預(yù)編譯器,它可以將內(nèi)嵌的SQL語句轉(zhuǎn)化為JAVA語句.SQLJ的使用與運(yùn)行機(jī)理與其它ORACLE的與編譯器(如Pro*C,Pro*COBOL)類似。實(shí)際上,為了使我們形象的記住SQLJ提供的功能,我們也可以直接將SQLJ改名為Pro*Java。
將JAVA集成到數(shù)據(jù)庫中是雙向的。也就是說你可以在JAVA中調(diào)用SQL與PL/SQL,也可以在SQL與PL/SQL中調(diào)用JAVA。JAVA程序可以直接通過JDBC驅(qū)動(dòng)調(diào)用SQL與PL/SQL,反過來,你也可以在SQL與PL/SQL中直接調(diào)用JAVA。在數(shù)據(jù)庫中,JAVA命名空間直接映射到數(shù)據(jù)庫模式的命名空間中,這樣可以方便JAVA的存取與調(diào)用。數(shù)據(jù)庫同時(shí)提供擴(kuò)展的DDL語句,通過這些語句,你可以象創(chuàng)建一個(gè)存儲(chǔ)過程一樣在數(shù)據(jù)中創(chuàng)建內(nèi)嵌的JAVA程序。
Features of ORACLE JDBC Drivers
在ORACLE8i中有三種類型的JDBC驅(qū)動(dòng),他們都使用相同的 syntax, APIs, and Oracle extensions,以使JAVA代碼在robust clients、Web-based Java applets, and Java stored procedures之間保持輕便靈活:三種類型如下:
1.JDBC OCI: 此驅(qū)動(dòng)類似于傳統(tǒng)的ODBC 驅(qū)動(dòng)。因?yàn)樗枰狾racle Call Interface and Net8,所以它需要在運(yùn)行使用此驅(qū)動(dòng)的JAVA程序的機(jī)器上安裝客戶端軟件
2.JDBC Thin: 這種驅(qū)動(dòng)一般用在運(yùn)行在WEB瀏覽器中的JAVA程序。它不是通過OCI or Net8,而是通過Java sockets進(jìn)行通信 ,因此不需要在使用JDBC Thin的客戶端機(jī)器上安裝客戶端軟件。
3.JDBC KPRB: 這種驅(qū)動(dòng)由直接存儲(chǔ)在數(shù)據(jù)庫中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP's。It uses the default/ current database session and thus requires no additional database username, password or URL.
如何配置使JAVA可以通過Oracle JDBC Drivers連接到數(shù)據(jù)庫:1.安裝Sun JDK.
2. 修改PATH環(huán)境變量,使其指向JDK的bin目錄
3. 設(shè)置CLASSPATH環(huán)境變量,使其指向正確的JDK的lib及oracle的JDBC接口。
CLASSPATH = ".;????"
3. 運(yùn)行"java –version" ,驗(yàn)證java的版本。
如何在不同的操作系統(tǒng)上根據(jù)接口類型設(shè)置客戶端:
對JDBC THIN接口:
在windows與unix下的設(shè)置方法一樣:
1.根據(jù)jdk的版本,只需要將classesxx.zip拷貝到指定的目錄,不需要安裝Oracle Client。在裝完數(shù)據(jù)庫后,該文件會(huì)在$ORACLE_HOME/jdbc/lib目錄下。2.設(shè)置CLASSPATH,使其包含上面的classesxx.zip
3.根據(jù)需要,拷貝oracle的其它zip文件并設(shè)置CLASSPATH
對JDBC OCI接口:
Fow Windows:
1.安裝Oracle Client.
2.根據(jù)jdk的版本,設(shè)置CLASSPATH,使其包含正確的classesxx.zip
3.根據(jù)需要設(shè)置CLASSPATH,使其指向Oracle的其它zip文件
4.設(shè)置PATH,使其包含$ORACLE_HOME/bin目錄