konhon

          忘掉過去,展望未來。找回自我,超越自我。
          逃避不一定躲的過, 面對不一定最難過, 孤單不一定不快樂, 得到不一定能長久, 失去不一定不再擁有, 可能因為某個理由而傷心難過, 但我卻能找個理由讓自己快樂.

          Google

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            203 Posts :: 0 Stories :: 61 Comments :: 0 Trackbacks
          連接oracle數據庫的各種oracle jdbc驅動程序的細節。
          這些細節包括:
          1、導入jdbc包
          2、注冊oracle jdbc驅動程序
          3、打開數據庫連接
          4、執行sql dml語句在數據庫表中獲取、添加、修改和刪除行

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


          二、導入jdbc包
          三、注冊oracle jdbc驅動程序
          必須先向java程序注冊oracle jdbc驅動程序,然后才能打開數據庫連接。
          有兩種注冊oracle jdbc驅動程序的辦法。
          1、使用java.lang.class的forname()方法
          例子:class.forname(oracle.jdbc.oracledriver);
          2、使用jdbc drivermanager類的registerdriver()方法。
          例子:drivermanager.registerdriver(new oracle.jdbc.oracledriver());
          如果使用oracle8i jdbc驅動程序,那么需要導入oracle.jdbc.driver.oracledriver類,
          然后注冊這個類的實例。
          例子:
          import oracle.jdbc.driver.oracledriver;
          drivermanager.registerdriver(new oracle.jdbc.oracledriver());
          注意:從jdbc2.0開始,只用jdbc驅動程序的更標準辦法是通過數據源。
          四、打開數據庫連接
          必須先打開數據庫連接,然后才能在java程序中執行sql語句。打開數據庫連接
          的主要辦法。
          1、drivermanager類的getconnection()方法。
          drivermanager.getconnection(url,username,passwrod);
          url:程序要連接的數據庫,以及要使用的jdbc驅動程序
          url的結構依賴于jdbc驅動程序的生產商。對于oracle jdbc驅動程序,數據庫url的結構:

          driver_name是程序使用的oracle jdbc驅動程序的名稱。如:
          jdbc:oracle:thin oracle jdbc thin驅動程序
          jdbc:oracle:oci oracle jdbc oci驅動程序
          jdbc:oracle:oci8 oracle jdbc oci驅動程序
          driver_information是連接數據庫所需的驅動程序特有的信息。這依賴于使用的驅動程序。
          對于oracle jdbc thin驅動程序,可以用
          host_name:port:database_sid 或者 oracle net關鍵字-值對
          (description=(address=(host=host_name)(protocol=tcp)(port=port()
          (connect_data=(sid=database_sid)))
          host_name: 運行數據庫的機器的名稱
          port: net數據庫監聽器等待這個端口上的請求,默認是1521
          database_sid: 要連接的數據庫實例的oracle sid。
          username: 程序連接數據庫時使用的數據庫用戶名
          passwrod: 用戶名的口令
          例子:
          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數據源對象,必須先創建這個對象,然后連接它。使用這種方法
          采用了一種設置數據庫連接信息的標準化方式,oracle數據源對象可以與
          java naming and directory interface(java名字與目錄接口,jndi)一起使用。

          posted on 2006-03-21 07:18 konhon 優華 閱讀(935) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 裕民县| 阜平县| 临武县| 巴马| 老河口市| 苏州市| 盈江县| 碌曲县| 建德市| 仙居县| 德安县| 喜德县| 铜梁县| 吉首市| 仙游县| 来安县| 襄汾县| 焉耆| 石林| 自贡市| 岢岚县| 裕民县| 平度市| 同仁县| 新民市| 乐都县| 黑山县| 濮阳县| 宜兰县| 辽中县| 逊克县| 广东省| 大竹县| 黑水县| 渭南市| 江孜县| 青龙| 屏山县| 潢川县| 长宁区| 赤城县|