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

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

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

    posts - 13,comments - 70,trackbacks - 1

    MyEclipse+WebSphere 通過 JNDI 連接 Sybase 簡介

    ?

    ?????? 很久不來這里寫東西了,一是工作忙,還有就是我是個初學者也寫不出什么東西。這幾天因工作需要學習了一下 WebSphere5.1, 在網(wǎng)上找了些資料終于了解了如何通過 JNDI 連接 Sybase 數(shù)據(jù)庫。貼上來一個是怕自己以后忘了,另外就是希望能幫助像我一樣苦苦探索的初學者。

    ?

    該文參考了 :

    1. ?IBM WebSphere Application Server V5.1 System Management and Configuration - WebSphere Handbook Series

    2.? moyunhe ? http://www.matrix.org.cn 發(fā)表的 WebSphere 中流行數(shù)據(jù)庫連接池的配置 (Oracle SQL Server Sybase MySQL), 該文地址 : ???? http://www.matrix.org.cn/thread.shtml?topicId=30665&forumId=40

    3.? MyEclipse 網(wǎng)站的一篇文檔,該文地址 : http://www.myeclipseide.com/Articles/WebSphere5.1LogConfiguration/WAS5.1LogConfiguration.html

    ?

    軟件環(huán)境 :eclipse V3.1.1, MyEclipse V4.1.1 Build id: 20060309-4.1.1-GA, Sybase ASE 12.5 字符集 : iso_1, WebShpere 5.1 中文版

    ?

    A. ??????? WebSphere5.1 log 重定向至 MyEclipse 控制臺 ( 摘自 MyEclipse 幫助 ”Configuring WebSphere 5.1 Logging for MyEclipse”. 所以 WebSphere 是英文的 )

    1.?? 打開指定 Server Log 設置

    a1.gif

    2. ?? 選擇 JVM Logs

    a2.gif

    3.?? 設置 Output Error Logs 到控制臺 (Console), 之后點擊確認 (OK) 按鈕

    a3.gif

    4.?? 點擊 Save

    a4.gif

    5. ?? 點擊 Save 按鈕

    a5.gif

    B. ??????? MyEclipse 中設置 WebSphere5.1 屬性

    1. ?? 按下圖請根據(jù)自己的具體環(huán)境設置

    b1.gif

    2. ?? Jdk 設置必須指定 WebSphere 自帶 jdk

    b2.gif

    3. ?? 如果安裝了 MQ 需要以下設置,否則會在 MyEclipse 啟動時由于找不到 bipmainw110.dll 而導致 MQ 啟動失敗

    b3.gif

    4.?? 這些設置好之后就可以通過下圖所示來啟動 WebSphere, 啟動日志應該顯示在 eclipse 的控制臺中

    b4.gif

    C. ??????? 接下來設置 Sybase JDBC JNDI

    1. ?? 點擊 環(huán)境 -> 管理 WebSphere 變量 “( 下邊 WebSphere 是自己公司的,所以是中文的 ) ,然后點擊 新建 按鈕

    c1.gif

    2.?? 點擊右邊的 ” SYBASE_JDBC_DRIVER_PATH?” ( 通常 Sybase 數(shù)據(jù)庫的 JDBC 連接程序為 jconn2.jar ,根據(jù) Sybase 版本不同可能存放于 \sybase\jConnect-5_5\classes\ 或是存放于目錄 \sybase\Sybase Central 3.2\java\ , 將具體的 jconn2.jar 所在路徑指定給他們即可。 ) ,點擊 確認 跳轉頁面后點擊鏈接 保存 ,再次跳轉頁面后點擊按鈕 保存 ”( 注意 : 不是上邊的鏈接,是下邊的 保存 按鈕,以后保存步驟簡寫為保存 )

    c2.gif

    3. ?? 之后點擊 環(huán)境 -> 更新 Web 服務器插件 ,再點擊 確定 ”( 當服務器、群集、 HTTP 傳輸或虛擬主機別名配置更改時,必須更新 Web 服務器插件,這個后面也不再多說,反正服務器修改東西后沒效果在這里更新一下,還不行重起 web 服務,再不行重起機器,最后還不行肯定是某個地方配置錯了 ,google 上查查資料,或者看看 ” WebSphere Application Server V5.1 System Management & Configuration” 這本書。這本書英文版可以去 emule 上下載下來 , 書店里有賣中文的,網(wǎng)上似乎沒有,我是在書店里發(fā)現(xiàn)有這本書才去 emule 下的 )

    c3.gif

    4. ?? 點擊 資源 -> JDBC 提供程序 ,在打開的頁面中點擊 新建 ”( 圖片中的 ”Sybase JDBC Driver” 是我已經建好的,不用理會 )

    c4.gif

    5. ?? 選擇 ”Sybase JDBC Driver” ,確認后頁面跳轉。

    c5.gif

    6.?? 可以在這里更改名稱、描述,其它默認,然后再確定,最后保存。這時 Sybase JDBC 已設置好。

    c6.gif

    7.?? 點擊剛才建好的 Sybase JDBC 名稱

    c7.gif

    8. ?? 點擊 數(shù)據(jù)源

    c8.gif

    9.?? 點擊 新建 ”( 下邊圖片中的 hq 是我已建好的不必理會 , 您的頁面應該是什么都沒有,要有東西說明見到鬼了 )

    c9.gif

    10. ?? 輸入 名稱 ”JNDI 后點擊 應用

    c10.gif

    11.?? 點擊下方的 定制屬性 ,在打開的頁面中按下圖設置 JDBC 鏈接屬性,沒有的需要新建該屬性。 連接池 需要根據(jù)自己實際情況設置。屬性和連接池中的各項可以參考 ” WebSphere Application Server V5.1 System Management & Configuration” 這本書

    c11.gif

    12. ?? 保存后更新插件,之后需要重起 WebSphere 才生效。之后我們可以測試剛才的設置是否成功,測試成功表示 JNDI 已正確設置,否則可能數(shù)據(jù)庫沒有啟動或者有些地方沒有設置正確。

    c12.gif

    D. ?????? MyEclipse 中測試剛才設置的 JNDI

    1. ?? 新建 ” Enterprise Application Project ”

    d1.gif

    2.?? 下一步后敲入項目名稱,選擇 ”J2EE 1.3”( 必須選擇該項 , 否則生成的 application.xml web.xml 格式是 J2EE1.4 的, WebSphere5.1 并不支持該格式,發(fā)布應用時會出錯導致無法發(fā)布 ) ”Define Ejb Project Modules” 就不用選了,我們沒用 ejb

    d2.gif

    3. ?? “ Create Web Project Module ” 上打勾

    d3.gif

    4.?? 點擊完成

    d4.gif

    5. ?? test.pool 包中建類 TestPool ,在 WebRoot 下建 jsp: testjndi.jsp, 如下圖 :

    d5.gif

    6.?? 代碼

    test 表結構 :

    CREATE ? TABLE ?dbo.test?
    (
    ????name?
    varchar ( 60 )? NULL
    )

    TestPool 類內容 :



    ?
    /*該代碼借用了 moyunhe文章中的TestPool類,詳細內容請見該文參考*/

    /*
    ?*?創(chuàng)建日期?2005-11-5
    ?*
    ?*?更改所生成文件模板為
    ?*?窗口?>?首選項?>?Java?>?代碼生成?>?代碼和注釋
    ?
    */
    package ?test.pool;

    import ?java.sql.Connection;
    import ?java.sql.ResultSet;
    import ?java.sql.SQLException;
    import ?java.sql.Statement;

    import ?javax.naming.Context;
    import ?javax.naming.InitialContext;
    import ?javax.naming.NamingException;
    import ?javax.sql.DataSource;

    /**
    ?*?
    @author ?moyunhe
    ?*
    ?*?更改所生成類型注釋的模板為
    ?*?窗口?>?首選項?>?Java?>?代碼生成?>?代碼和注釋
    ?
    */
    public ? class ?TestPool?{
    ????
    ????
    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;
    ????????
    ????}
    ????
    ????
    public ? static ?String?getDBData(String?strConnPoolJndi,?String?sql)?{
    ????????String?strReturn
    = "" ;
    ????????Connection?conn?
    = ? null ;
    ????????Statement?st?
    = ? null ;
    ????????ResultSet?rs?
    = ? null ;

    ????????
    try ?{
    ????????????conn?
    = ?getConnection(strConnPoolJndi);
    ????????????st?
    = ?conn.createStatement();
    ????????????st.executeUpdate(
    " delete?test " );
    ????????????st.executeUpdate(
    " insert?test(name)?values(' " + sql + " ') " );
    ????????????rs?
    = ?st.executeQuery(? " select?name?from?test " ?);
    ????????????
    ????????????
    if ?(rs.next())?{
    ????????????????strReturn?
    = ?rs.getString( 1 );
    ????????????}

    ????????}
    ????????
    catch ?(Exception?e)?{
    ????????????e.printStackTrace();
    ????????????strReturn?
    = ?e.getMessage();
    ????????}
    ????????
    finally ?{
    ????????????
    try ?{
    ????????????????
    if ?(st? != ? null )?{
    ????????????????????st.close();
    ????????????????????st?
    = ? null ;
    ????????????????}
    ????????????????
    if ?(rs? != ? null ?)?{
    ????????????????????rs.close();
    ????????????????????rs?
    = ? null ;
    ????????????????}
    ????????????????
    if ?(conn? != ? null )?{
    ????????????????????conn.close();
    ????????????????????conn?
    = ? null ;
    ????????????????}
    ????????????}
    ????????????
    catch ?(SQLException?e)?{
    ????????????????e.printStackTrace();
    ????????????}
    ????????}
    ????????
    ????????
    return ?strReturn;
    ????}

    }

    testjndi.jsp 文件內容 :


    <% @?page?language = " java " ?contentType = " text/html;charset=utf-8 " ?pageEncoding = " utf-8 " %>
    <% @page?import = " java.util.* " %>

    <! DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN" >
    < html >
    ??
    < head >
    ????
    < title > My?JSP?'MyJsp.jsp'?starting?page </ title >
    ??
    </ head >
    ??
    ??
    < body >
    ????世界杯.?
    < br >
    ????
    <% out.println( " SYBASE_JNDI: " ? + ?test.pool.TestPool.getDBData( " jdbc/hq " , " 2006年德意志世界杯 " )); %>
    ??
    </ body >
    </ html >

    7.?? 游覽器運行結果

    d7.gif


    該文如有錯誤望同仁指出,我們共同進步!

    posted on 2006-06-12 12:57 落花飛雪 閱讀(5374) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 亚洲a∨国产av综合av下载 | 亚洲中文字幕丝袜制服一区| 亚洲乱码中文字幕在线| 国产精品永久免费10000| 亚洲福利一区二区精品秒拍| 100部毛片免费全部播放完整| 久久精品蜜芽亚洲国产AV | 91在线手机精品免费观看| 亚洲AV无码久久精品色欲| 精品国产免费人成网站| 国产亚洲午夜高清国产拍精品| 一个人免费观看视频在线中文| 亚洲AⅤ优女AV综合久久久| 国产l精品国产亚洲区在线观看| 韩国免费a级作爱片无码| 国产国拍亚洲精品mv在线观看 | 99re6免费视频| 亚洲人成网站在线观看播放动漫| 无码国产精品一区二区免费虚拟VR | 特级av毛片免费观看| 亚洲伊人久久综合影院| 国产精品免费观看调教网| 亚洲中文字幕在线无码一区二区| 日韩精品成人无码专区免费| 国产精品无码亚洲一区二区三区| 亚洲爽爽一区二区三区| 日本免费人成网ww555在线| 亚洲第一永久在线观看| 暖暖在线日本免费中文| 国产免费久久精品99久久| 91天堂素人精品系列全集亚洲| 毛片a级毛片免费播放下载| 日韩在线观看免费完整版视频| 少妇高潮太爽了在线观看免费| 精品亚洲视频在线| 久久久久亚洲精品无码系列| 18禁止观看免费私人影院| 黄页网站在线观看免费| 久久精品国产亚洲av麻豆小说| 永久免费av无码网站大全| 国产色爽免费无码视频|