<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    WebSphere中流行數(shù)據(jù)庫(kù)連接池的配置(Oracle、SQL Server、Sybase、MySQL)

    本文介紹WebSphere下Oracle、SQL Server、Sybase、MySQL數(shù)據(jù)庫(kù)連接池的配置方法,并給出相應(yīng)調(diào)用連接池的示例。相對(duì)于Weblogic,WebSphere連接池的配置要稍微復(fù)雜一些,因?yàn)槿鄙傧嚓P(guān)的文檔,需要一定的技巧和經(jīng)驗(yàn)。特別是對(duì)于初學(xué)者,完整的配置好Websphere連接池還是有一定難度的。

    一、系統(tǒng)準(zhǔn)備
    1.在相應(yīng)的數(shù)據(jù)庫(kù)中建立本文用到的表

    create?table?TEST(C1?CHAR(10)?)
    insert?into?TEST?values('FromTest')


    2.準(zhǔn)備環(huán)境變量,此部分往往會(huì)被初學(xué)者忽略。




    點(diǎn)擊“管理WebSphere變量”,ORACLE_JDBC_DRIVER_PATH的值輸入操作系統(tǒng)中jar文件(classes12.jar)的位置。
    “確認(rèn)”后,界面最上方,點(diǎn)擊“保存”,會(huì)再提示“保存”還是“放棄”,再選“保存”。

    為方便起見(jiàn),本文中,SQL Server的jar文件(msbase.jar、mssqlserver.jar、msutil.jar )、Sybase的jar文件(jconn2.jar)、mySQL的jar文件(mysql-connector-java-3.1.10-bin.jar)都放在同一目錄(如:C:\oracle\ora92\jdbc\lib)。

    3.本文中的所有例子測(cè)試均通過(guò),環(huán)境:Windows2003、WebShpere5.1、ORACLE9I、SQL Server 2000、SYBASE12.5、MySQL5.0。

    二、Oracle、SQL Server、Sybase、MySQL數(shù)據(jù)庫(kù)連接池在WebSphere中的詳細(xì)配置步驟

    (一)、Oracle連接池的配置

    1.進(jìn)入管理控制臺(tái)(http://localhost:9090/admin/)

    2.選擇:資源->JDBC提供程序,點(diǎn)擊“新建”,建立JDBC提供程序。




    點(diǎn)擊“應(yīng)用”后,類路徑中,輸入“${ORACLE_JDBC_DRIVER_PATH}/classes12.jar”,再點(diǎn)擊“應(yīng)用”。

    3.定義數(shù)據(jù)源
    點(diǎn)擊界面中“數(shù)據(jù)源后”再點(diǎn)擊“新建”,建立數(shù)據(jù)源。



    JNDI取名ORACLE_JNDI,點(diǎn)擊“應(yīng)用”。

    4.界面上點(diǎn)擊“定制屬性”,定義連接池的JDBC Driver、URL、用戶名和口令等信息。
    點(diǎn)擊“URL”,URL的值輸入:jdbc:oracle:thin:@localhost:1521:MYHORA,其中,localhost可以為ORACLE的IP地址,MYHORA是ORACLE的服務(wù)名稱。
    點(diǎn)擊“確定”保存配置。
    同樣的方法輸入:
    driverType的值oracle.jdbc.driver.OracleDriver
    databasename的值MYHORA
    servername的值localhost
    preTestSQLString的值為SELECT COUNT(1) FROM TEST
    其余的取默認(rèn)值。

    5.本部分比較關(guān)鍵,是初學(xué)著比較困惑的地方。
    我們看到,界面上并沒(méi)有輸入用戶名、口令的地方,而沒(méi)有用戶名稱、口令是無(wú)法連接數(shù)據(jù)庫(kù)的。




    在“定制屬性”中點(diǎn)擊“新建”,“名稱”中輸入user,“值”中輸入數(shù)據(jù)庫(kù)的用戶名稱,如:study,點(diǎn)擊“確定”;
    在“定制屬性”中點(diǎn)擊“新建”,“名稱”中輸入password,“值”中輸入數(shù)據(jù)庫(kù)的口令,如:study,點(diǎn)擊“確定”;
    我們看到,“定制屬性”中多了兩個(gè)我們自定義的屬性u(píng)ser、password



    resized image

    6.保存配置,在“定制屬性”界面的最上方點(diǎn)擊“保存”。

    7.測(cè)試連接





    系統(tǒng)提示:成功信息,表明,連接池配置成功。
    連接池配置成功后,WebSphere需要重新啟動(dòng)。

    (二)、SQL server連接池的配置

    SQL Server連接池的配置步驟同Oracle,具體的參數(shù)值:
    JDBC 提供程序:下拉選擇Microsoft JDBC driver for MSSQLServer 2000
    Sybase連接池的配置步驟也同Oracle,具體的參數(shù)值:
    常規(guī)屬性中的名稱:Microsoft JDBC driver for MSSQLServer 2000
    常規(guī)屬性中的描述:Microsoft JDBC driver for MSSQLServer 2000
    常規(guī)屬性中的類路徑:
    ${ORACLE_JDBC_DRIVER_PATH}/msbase.jar
    ${ORACLE_JDBC_DRIVER_PATH}/mssqlserver.jar
    ${ORACLE_JDBC_DRIVER_PATH}/msutil.jar

    常規(guī)屬性中的實(shí)現(xiàn)類名:默認(rèn)
    數(shù)據(jù)源中的名稱:SQLSERVER_JNDI
    數(shù)據(jù)源中的JNDI:SQLSERVER_JNDI
    定制屬性中的databaseName:數(shù)據(jù)庫(kù)名稱
    定制屬性中的serverName:Sybase數(shù)據(jù)庫(kù)服務(wù)器的名稱或IP
    定制屬性中的portNumber:端口號(hào)
    定制屬性中的preTestSQLString:SELECT COUNT(1) FROM TEST
    同Oracle,手工“新建”user和password屬性,值為數(shù)據(jù)庫(kù)的用戶名和口令,該用戶的缺省數(shù)據(jù)庫(kù)必須為databaseName的值。
    其他默認(rèn)。

    (三)、Sybase連接池的配置

    JDBC 提供程序:下拉選擇Sybase JDBC Driver
    Sybase連接池的配置步驟也同Oracle,具體的參數(shù)值:
    常規(guī)屬性中的名稱:SYBASE JDBC Driver
    常規(guī)屬性中的描述:SYBASE JDBC Driver
    常規(guī)屬性中的類路徑:${ORACLE_JDBC_DRIVER_PATH}/jconn2.jar
    常規(guī)屬性中的實(shí)現(xiàn)類名:默認(rèn)
    數(shù)據(jù)源中的名稱:SYBASE_JNDI
    數(shù)據(jù)源中的JNDI:SYBASE_JNDI
    定制屬性中的databaseName:數(shù)據(jù)庫(kù)名稱
    定制屬性中的serverName:Sybase數(shù)據(jù)庫(kù)服務(wù)器的名稱或IP
    定制屬性中的portNumber:端口號(hào)
    定制屬性中的preTestSQLString:SELECT COUNT(1) FROM TEST
    同Oracle,手工“新建”user和password屬性,值為數(shù)據(jù)庫(kù)的用戶名和口令,該用戶的缺省數(shù)據(jù)庫(kù)必須為databaseName的值。
    其他默認(rèn)。

    (四)、MySQL連接池的配置

    MySQL連接池的配置步驟同Oracle稍有不同,JDBC 提供程序中并沒(méi)有MySQL中的選項(xiàng),選Oracle JDBC Driver就可以,實(shí)際運(yùn)行中,WebSphere是以設(shè)置的參數(shù)為準(zhǔn)的。

    具體的參數(shù)值:
    常規(guī)屬性中的名稱:MySQL JDBC Driver
    常規(guī)屬性中的描述:MySQL JDBC Driver
    常規(guī)屬性中的類路徑:${ORACLE_JDBC_DRIVER_PATH}/mysql-connector-java-3.1.10-bin.jar
    常規(guī)屬性中的實(shí)現(xiàn)類名:com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
    數(shù)據(jù)源中的名稱:MYSQL_JNDI
    數(shù)據(jù)源中的JNDI:MYSQL_JNDI





    由于WebSphere沒(méi)有缺省的MySQL選項(xiàng),“定制屬性”全部需要手工新建。具體的值要根據(jù)MySQL的實(shí)際環(huán)境要做相應(yīng)修改(petshop是我機(jī)器上的數(shù)據(jù)庫(kù)名稱)。

    三、應(yīng)用程序中測(cè)試連接池。

    1. jsp程序中測(cè)試連接池

    附件中的TestConnPoolWeb.ear文件直接發(fā)布后,
    運(yùn)行:http://localhost:9080/TestConnPoolWeb/oracle_pool.jsp,結(jié)果:ORACLE_JNDI:FromTest
    運(yùn)行:http://localhost:9080/TestConnPoolWeb/sqlserver_pool.jsp,結(jié)果:SQLSERVER_JNDI:FromTest
    運(yùn)行:http://localhost:9080/TestConnPoolWeb/sybase_pool.jsp,結(jié)果:SYBASE_JNDI:FromTest
    運(yùn)行:http://localhost:9080/TestConnPoolWeb/mysql_pool.jsp,結(jié)果:MYSQL_JNDI:FromTest

    2. 程序說(shuō)明

    得到連接的方法:

    private?static?Connection?getConnection(String?strConnPoolJndi)?throws?NamingException,?SQLException?{
    Context?ctx?
    =?null;
    ctx?
    =?new?InitialContext();
    DataSource?ds?
    =?(DataSource)ctx.lookup(strConnPoolJndi);
    Connection?conn?
    =?ds.getConnection();

    return?conn;

    }


    參數(shù)strConnPoolJndi分別為:ORACLE_JNDI、SQLSERVER_JNDI、SYBASE_JNDI、MYSQL_JNDI,對(duì)于相應(yīng)的數(shù)據(jù)庫(kù)。
    從表中查詢一條數(shù)據(jù):

    public?static?String?getDBData(String?strConnPoolJndi)?{
    String?strReturn
    ="";
    Connection?conn?
    =?null;
    Statement?st?
    =?null;
    ResultSet?rs?
    =?null;

    try?{
    conn?
    =?getConnection(strConnPoolJndi);
    st?
    =?conn.createStatement();
    rs?
    =?st.executeQuery(?"select?C1?from?TEST"?);

    if?(rs.next())?{
    strReturn?
    =?rs.getString(1);
    }

    }


    jsp中打印出表中的一條記錄:

    <%
    out.println(
    "ORACLE_JNDI:"?+?test.pool.TestPool.getDBData("ORACLE_JNDI"));
    %>



    附件TestConnPoolWeb.ear(包括源程序)
    [Download File]

    posted on 2006-07-24 16:15 paulwong 閱讀(3732) 評(píng)論(3)  編輯  收藏 所屬分類: Websphere

    Feedback

    # re: WebSphere中流行數(shù)據(jù)庫(kù)連接池的配置(Oracle、SQL Server、Sybase、MySQL) 2006-09-21 15:37 shenme

    已嘗試在不是層次 2.3 的 WebModule 中使用 5.0 DataSource。
    [2006/9/21 15:17:03:156 CST] 69c1587a Helpers W NMSV0605W: 已將從 "cg/nodes/cg/servers/server1" 環(huán)境定義查閱且名稱為 "jdbc/manager" 的 Reference 物件傳給 JNDI 命名管理程式,產(chǎn)生異常狀況。以下是參照資料:
    參照 Factory 類別名稱:com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl
    參照 Factory 類別位置 URL:<null>
    Reference Class Name: manager
    Type: connectorName
    Content: manager
    Type: recoveryClasspath
    Content: C:\Program Files\WebSphere\AppServer/lib/rsadapter.rar
      回復(fù)  更多評(píng)論   

    # re: WebSphere中流行數(shù)據(jù)庫(kù)連接池的配置(Oracle、SQL Server、Sybase、MySQL) 2007-09-21 09:45 august

    好文章要頂。謝謝。  回復(fù)  更多評(píng)論   

    # re: WebSphere中流行數(shù)據(jù)庫(kù)連接池的配置(Oracle、SQL Server、Sybase、MySQL) 2012-03-28 11:29 恰恰

    謝謝! 找好久原來(lái)是ORACLE_JDBC_DRIVER_PATH沒(méi)設(shè)定好的問(wèn)題3Q  回復(fù)  更多評(píng)論   


    主站蜘蛛池模板: 色老板亚洲视频免在线观| ass亚洲**毛茸茸pics| 一级做a爱过程免费视| 国产在线观看免费完整版中文版 | 免费成人高清在线视频| 亚洲香蕉网久久综合影视| 在线免费观看h片| 亚洲AV无码久久寂寞少妇| 无码日韩精品一区二区三区免费| 久久精品国产亚洲| 中文字幕在线观看免费视频| 亚洲女人影院想要爱| 成年女人毛片免费观看97| 久久水蜜桃亚洲AV无码精品| 亚洲国产一级在线观看| 十八禁视频在线观看免费无码无遮挡骂过| 亚洲午夜久久久影院伊人| 最近2019中文字幕免费大全5| 亚洲综合久久一本伊伊区| 国产成人综合久久精品免费| 草久免费在线观看网站| 国产亚洲福利精品一区| xxxx日本免费| 色噜噜的亚洲男人的天堂| 亚洲色偷拍另类无码专区| 18禁成人网站免费观看| 亚洲av中文无码乱人伦在线观看| 亚洲成av人片在线观看天堂无码 | 久久成人国产精品免费软件| 亚洲欧美成人av在线观看| 亚洲国产综合人成综合网站| 野花香在线视频免费观看大全 | 中文字幕无码不卡免费视频| 国产亚洲精品美女久久久久 | 亚洲国产精品无码中文字| 99久久综合国产精品免费| 日日躁狠狠躁狠狠爱免费视频| 久久久久亚洲av无码专区蜜芽| 大地资源在线观看免费高清| 国产免费伦精品一区二区三区| 亚洲日本乱码一区二区在线二产线|