csusky

          常用鏈接

          統計

          最新評論

          JDBC中的連接方式 thin模式 和 DataSource方式

          一、最常用的是thin模式   利用DriverManager得到Connection
          Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
          String url
          ="jdbc:oracle:thin:@localhost:1521:orcl"//orcl為數據庫的SID 
          String user="test"
          String password
          ="test"
          Connection conn
          = DriverManager.getConnection(url,user,password);

          二、JDBC的另外一種方式是三層結構,就是在應用服務器(tomcat/weblogic)上面建立DataSource
          1Context ctx=new InitiaContext(Hashtable env);
          2DataSource ds=(DataSource)ctx.lookUp("jdbc/OraDB");
          3Connection con=ds.getConnection();

          應用中配置如下:未測試,僅轉載。
             
          一、配置server.xml
          找到配置發布應用程序的地方:<Context path=”” docBase=”d:\_webs”/>
          將這個改為:
          <Context path="" docBase="D:\ _web" debug="0">
           
          <!—聲明一個數據源,程序通過JNDI找到該數據源。
          name指出數據源的名稱為jdbc/OraDB,
          auth表明連接池管理的權限,
          type指出該數據源的類型-->
          <Resource name="jdbc/OraDB" auth="SERVLET" type="javax.sql.DataSource"/>
           
          <!—配置該數據源的屬性
          name指出數據源的名稱
          -->
          <ResourceParams name="jdbc/OraDB">
           
          <!—連接數據庫的用戶名-->
          <parameter>
          <name>username</name>
                     <value>chenws</value>
          </parameter>
              
           <!—連接數據庫的密碼-->
           <parameter>
                     <name>password</name>
                  <value>admin</value>
           </parameter>
                     
           <!—連接數據庫的jdbc驅動程序-->
           <parameter>
                     <name>driverClassName</name>
                     <value>oracle.jdbc.driver.OracleDriver</value>
           </parameter>
           
            <!—連接數據庫的url-->
           <parameter>
                     <name>url</name>
                     <value>jdbc:oracle:thin:@192.168.39.215:1521:jetchin</value>
           </parameter>
          </ResourceParams>
                  
          </Context>
           
          實際上,配置數據源的屬性不止以上那些,還有其他的比如連接時間的限制,連接數量的限制等等。這里我們并沒有給出,只是使用了tomcat提供的默認屬性罷了。
          注意:要讓該數據源有效,必須將oracleclasses12.zip改名為classes12.jar,然后拷貝到
          tomcat安裝目錄下的/common/lib中。
           
          二、配置web.xml
          web應用程序目錄下的web-inf中,打開web.xml,加入如下的配置:
          定義數據源參照:
          <resource-ref>
           <!—數據源描述,可有可無-->
           <description>Oracle Datasource example</description>
           
            <!--數據源名稱-->
           <res-ref-name>jdbc/OraDB</res-ref-name>
           
            <!—數據源類型-->
          <res-type>javax.sql.DataSource</res-type>
           
           <!—連接池管理權限-->
           <res-auth>SERVLET</res-auth>
          </resource-ref>


          另外在weblogic中進行配置可參考如下文章:


          WebLogic Server7.0中Oracle的JDBC Pool/DataSource配置指南
           
           

          第一步,去oracle下載最新的 oracle JDBC driver。

          一共2個文件,ojdbc14.jar和nls_charset12.zip。
          第一個文件是驅動程序所在,第二個是支持國際化的包。

          接下來,把這兩個文件加入 WLS 的 classpath。
          修改 Bea\Weblogic\server\bin\startWLS.cmd(或者相應的Unix啟動文件,.sh結尾的),

          在文件開頭加入 PRE_CLASSPATH=C:\ojdbc14.jar;C:\nls_charset12.zip。注意文件的路徑。

          最后可以考慮把Bea\Weblogic\server\lib\classes12.zip刪除,我不保證正確性,只是怕有兼容性問題。

          最后,啟動weblogic server,進入console,在Connection Pool里邊,填入一下資料。

          General欄目:

          Name:MyOracle_CP

          URL:jdbc:oracle:thin:@server:port:sid (自己按照情況修改?。?
          比如:jdbc:oracle:thin:@192.168.0.2:1521:Crystal

          DriverName:oracle.jdbc.driver.OracleDriver

          Properties
          user=SYS (這里是用戶,最好不要用SYS,SYSTEM等系統用戶)

          ACL Name: (空)

          password: 用戶密碼

           


          如圖:



          Connection欄目:


          CapacityIncrement = 50
          MaxCapacity = 100
          Capacity Increment: 5
          Login Delay Seconds: 0 seconds
          Refresh Period: 10 minutes
          Supports Local Transaction 不要打勾
          Allow Shrinking 打勾
          Shrink Period: 15 minutes
          Prepared Statement Cache Size: 5

          如圖:



          Test欄目:

          TestTableName:SCOTT.EMP (這里需要改動,適應你自己的表,wls用來做連接測試用的)
          TestConnectionsOnReleasetrue 打勾
          TestConnectionsOnReservetrue 打勾

          最后,點擊Apply,然后去Targets,選中你的server,點右箭頭,使你的server進入Chosen欄目,最后Apply。(如圖)




          查看dos窗口,是否有錯誤,如果沒有則繼續,如果有的話,自己查看填寫的內容。

          至此,Connection Pool已經配置完畢。


          接下來,該配置(TX)DataSource了。

          從昨天的panel里邊,單擊DataSources/TX DataSources,進入配置界面。

          1。單擊Configure a new JDBC Tx Data Source..配置新的datasource

          2。填入以下數據:
          Name: MyDataSource (自己隨便起的)
          JNDI: jdbc/OracleDS (這里就是你lookup的時候填入的名字,自己想吧。
          Pool Name: MyOracle_CP (一定要對應你的Connection Pool的 Name)

          把后邊兩項打上勾。

          第一個是模擬2階提交模式,如果數據庫driver本身不支持的話。(就是XA標準,分布式提交)

          第二個是 行預讀。如圖:

           

           

           

           

           

           

           

           

           

           

           

           

          點擊Create,然后去Targets里邊,把你的 server放入chosen,點擊apply。。

          配置完成。。。

          最后檢查你的DataSource是否已經成功部屬:

          進入你的server的JNDI Tree,很容易就可以看到的。:)。如圖:





          posted on 2008-02-19 10:22 曉宇 閱讀(3732) 評論(0)  編輯  收藏 所屬分類: JDBC


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 姜堰市| 河曲县| 万载县| 新民市| 晋江市| 女性| 美姑县| 淅川县| 青神县| 土默特右旗| 双柏县| 德惠市| 资中县| 海丰县| 京山县| 于都县| 多伦县| 长宁县| 道孚县| 汶川县| 屯昌县| 华安县| 融水| 汝南县| 绩溪县| 阿坝| 桃江县| 宜丰县| 五寨县| 紫金县| 寻甸| 武平县| 湾仔区| 苏尼特左旗| 海盐县| 巫溪县| 唐海县| 靖宇县| 安化县| 哈巴河县| 兰溪市|