konhon

          忘掉過(guò)去,展望未來(lái)。找回自我,超越自我。
          逃避不一定躲的過(guò), 面對(duì)不一定最難過(guò), 孤單不一定不快樂(lè), 得到不一定能長(zhǎng)久, 失去不一定不再擁有, 可能因?yàn)槟硞€(gè)理由而傷心難過(guò), 但我卻能找個(gè)理由讓自己快樂(lè).

          Google

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            203 Posts :: 0 Stories :: 61 Comments :: 0 Trackbacks
          連接oracle數(shù)據(jù)庫(kù)的各種oracle jdbc驅(qū)動(dòng)程序的細(xì)節(jié)。
          這些細(xì)節(jié)包括:
          1、導(dǎo)入jdbc包
          2、注冊(cè)oracle jdbc驅(qū)動(dòng)程序
          3、打開(kāi)數(shù)據(jù)庫(kù)連接
          4、執(zhí)行sql dml語(yǔ)句在數(shù)據(jù)庫(kù)表中獲取、添加、修改和刪除行

          一、jdbc驅(qū)動(dòng)程序
          共有有4種
          1、thin驅(qū)動(dòng)程序
          thin驅(qū)動(dòng)程序是所有驅(qū)動(dòng)程序中資源消耗最小的,而且完全用java編寫(xiě)的。
          該驅(qū)動(dòng)程序只使用tcp/ip且要求oracle net。被稱(chēng)為第4類(lèi)驅(qū)動(dòng)程序。
          它使用ttc協(xié)議與oracle數(shù)據(jù)庫(kù)進(jìn)行通信。能夠在applet、application中使用。
          2、oci驅(qū)動(dòng)程序
          oci驅(qū)動(dòng)比thin需要資源要多,但性能通常好一點(diǎn)。oci驅(qū)動(dòng)適合于部署在
          中間層的軟件,如web服務(wù)器。不能在applet中使用oci驅(qū)動(dòng)。是第2類(lèi)驅(qū)動(dòng)程序。
          不完全用java寫(xiě)的,還包含了c代碼。該驅(qū)動(dòng)有許多附加的性能增強(qiáng)特性,
          包括高級(jí)的連接緩沖功能。
          注意:oci驅(qū)動(dòng)要求在客戶(hù)計(jì)算機(jī)上安裝它。
          3、服務(wù)器內(nèi)部驅(qū)動(dòng)程序
          服務(wù)器內(nèi)部驅(qū)動(dòng)程序提供對(duì)數(shù)據(jù)庫(kù)的直接訪(fǎng)問(wèn),oracle jvm使用它與數(shù)據(jù)庫(kù)進(jìn)行通信。
          oracle jvm是與數(shù)據(jù)庫(kù)集成的java virtual machine,可以使用oracle jvm將
          java類(lèi)裝載進(jìn)數(shù)據(jù)庫(kù),然后公布和運(yùn)行這個(gè)類(lèi)中包含的方法。
          4、服務(wù)器thin驅(qū)動(dòng)程序
          服務(wù)器端thin驅(qū)動(dòng)程序也是由oracle jvm使用的,它提供對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。
          也是完全用java編寫(xiě)的。


          二、導(dǎo)入jdbc包
          三、注冊(cè)oracle jdbc驅(qū)動(dòng)程序
          必須先向java程序注冊(cè)oracle jdbc驅(qū)動(dòng)程序,然后才能打開(kāi)數(shù)據(jù)庫(kù)連接。
          有兩種注冊(cè)oracle jdbc驅(qū)動(dòng)程序的辦法。
          1、使用java.lang.class的forname()方法
          例子:class.forname(oracle.jdbc.oracledriver);
          2、使用jdbc drivermanager類(lèi)的registerdriver()方法。
          例子:drivermanager.registerdriver(new oracle.jdbc.oracledriver());
          如果使用oracle8i jdbc驅(qū)動(dòng)程序,那么需要導(dǎo)入oracle.jdbc.driver.oracledriver類(lèi),
          然后注冊(cè)這個(gè)類(lèi)的實(shí)例。
          例子:
          import oracle.jdbc.driver.oracledriver;
          drivermanager.registerdriver(new oracle.jdbc.oracledriver());
          注意:從jdbc2.0開(kāi)始,只用jdbc驅(qū)動(dòng)程序的更標(biāo)準(zhǔn)辦法是通過(guò)數(shù)據(jù)源。
          四、打開(kāi)數(shù)據(jù)庫(kù)連接
          必須先打開(kāi)數(shù)據(jù)庫(kù)連接,然后才能在java程序中執(zhí)行sql語(yǔ)句。打開(kāi)數(shù)據(jù)庫(kù)連接
          的主要辦法。
          1、drivermanager類(lèi)的getconnection()方法。
          drivermanager.getconnection(url,username,passwrod);
          url:程序要連接的數(shù)據(jù)庫(kù),以及要使用的jdbc驅(qū)動(dòng)程序
          url的結(jié)構(gòu)依賴(lài)于jdbc驅(qū)動(dòng)程序的生產(chǎn)商。對(duì)于oracle jdbc驅(qū)動(dòng)程序,數(shù)據(jù)庫(kù)url的結(jié)構(gòu):

          driver_name是程序使用的oracle jdbc驅(qū)動(dòng)程序的名稱(chēng)。如:
          jdbc:oracle:thin oracle jdbc thin驅(qū)動(dòng)程序
          jdbc:oracle:oci oracle jdbc oci驅(qū)動(dòng)程序
          jdbc:oracle:oci8 oracle jdbc oci驅(qū)動(dòng)程序
          driver_information是連接數(shù)據(jù)庫(kù)所需的驅(qū)動(dòng)程序特有的信息。這依賴(lài)于使用的驅(qū)動(dòng)程序。
          對(duì)于oracle jdbc thin驅(qū)動(dòng)程序,可以用
          host_name:port:database_sid 或者 oracle net關(guān)鍵字-值對(duì)
          (description=(address=(host=host_name)(protocol=tcp)(port=port()
          (connect_data=(sid=database_sid)))
          host_name: 運(yùn)行數(shù)據(jù)庫(kù)的機(jī)器的名稱(chēng)
          port: net數(shù)據(jù)庫(kù)監(jiān)聽(tīng)器等待這個(gè)端口上的請(qǐng)求,默認(rèn)是1521
          database_sid: 要連接的數(shù)據(jù)庫(kù)實(shí)例的oracle sid。
          username: 程序連接數(shù)據(jù)庫(kù)時(shí)使用的數(shù)據(jù)庫(kù)用戶(hù)名
          passwrod: 用戶(hù)名的口令
          例子:
          connection myconnection=drivermanager.getconnection(
          jdbc:oracle:thin:@localhost:1521:orcl,
          store_user,
          store_password);
          connection myconnection=drivermanager.getconnection(
          jdbc:oracle:oci:@(description=(address=(host=localhost)
          (protocol=tcp)(port=1521))(connect_data=(sid=orcl))),
          store_user,
          store_password);
          2、使用oracle數(shù)據(jù)源對(duì)象,必須先創(chuàng)建這個(gè)對(duì)象,然后連接它。使用這種方法
          采用了一種設(shè)置數(shù)據(jù)庫(kù)連接信息的標(biāo)準(zhǔn)化方式,oracle數(shù)據(jù)源對(duì)象可以與
          java naming and directory interface(java名字與目錄接口,jndi)一起使用。

          posted on 2006-03-21 07:18 konhon 優(yōu)華 閱讀(940) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java
          主站蜘蛛池模板: 肇州县| 米易县| 汉沽区| 南乐县| 临海市| 彰化县| 洞头县| 内黄县| 冕宁县| 宣汉县| 巍山| 泽库县| 中西区| 海淀区| 峨山| 南川市| 绥阳县| 常德市| 铜陵市| 永清县| 通江县| 奉贤区| 平泉县| 宣威市| 崇义县| 水城县| 虹口区| 涪陵区| 左云县| 平度市| 勐海县| 天津市| 漳浦县| 四会市| 延川县| 韩城市| 宁化县| 瑞金市| 济宁市| 雷州市| 孟津县|