JAVA

          人生若只如初見(jiàn),何事秋風(fēng)悲畫扇。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            50 隨筆 :: 25 文章 :: 157 評(píng)論 :: 0 Trackbacks

          我用以下代碼用來(lái)測(cè)試數(shù)據(jù)庫(kù)連接是否正常:

           try {
                      logger.info("start to registerDriver...");
                      DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
                      logger.info(pros.getProperty("dbURL")+"--"+pros.getProperty("user")+"--"+ pros.getProperty("password"));
                      con = DriverManager.getConnection(pros.getProperty("dbURL"), pros.getProperty("user"), pros.getProperty("password"));;
                      if (con != null) {
                          st = con.createStatement();
                          rs = st.executeQuery("select 1 from dual");
                          rs.next();
                          if (rs.getInt(1) == 1) {
                              res = true;
                          }
                      }
                  }

           

          然后我做了一個(gè)java application桌面小應(yīng)用程序(extends FrameView),在小應(yīng)用程序中點(diǎn)擊事件觸發(fā)此段代碼,如下:

          private void dbTestMenuItemActionPerformed(java.awt.event.ActionEvent evt) {                                              
              //
          從配置文件中讀取連接相關(guān)屬性
              String info = "
          數(shù)據(jù)庫(kù)連接異常,請(qǐng)確認(rèn)配置文件是參數(shù)是否正確。";
              Properties per = new Properties();
              try {
                  logger.info("start to test the db connection...");
                  per.load(new FileInputStream(Content.configFile));
                  logger.info("system have loaded the config files successfully");
                
                  DbOper db = new DbOper();
                  if (db.checkDBConnect(per)) {
                      info = "
          數(shù)據(jù)庫(kù)連接正常";
                  }
                  logger.info("
          數(shù)據(jù)連接測(cè)試結(jié)果:" + info);
              } catch (Exception e) {
                  logger.error("Exception when test the DB connection, ",e);
              }

           

              if (aboutBox == null) {
                  JFrame mainFrame = AnalyseExcelApp.getApplication().getMainFrame();
                  aboutBox = new DBTestResultBox(mainFrame, info);
                  aboutBox.setLocationRelativeTo(mainFrame);
              }
              AnalyseExcelApp.getApplication().show(aboutBox);
          }
               

           

          但在運(yùn)行時(shí),程序頭也不回地直接死了,調(diào)試時(shí)發(fā)現(xiàn)程序是在

          con = DriverManager.getConnection(pros.getProperty("dbURL"), pros.getProperty("user"), pros.getProperty("password"));;
          這一行,不行了,也不報(bào)錯(cuò),就直接在此行一直呆著,啥也不做...

           

          另外還有二種情況,也讓我比較奇怪:

          1. 若同樣調(diào)用此段測(cè)試代碼,但不是在java application中,而是直接在一個(gè)普通的java類的main方法中,測(cè)可以測(cè)試通過(guò)。

          2. 若數(shù)據(jù)庫(kù)邊的是本機(jī)的數(shù)據(jù)庫(kù),那么此段測(cè)試代碼也可以通過(guò),在java applicationjava類的main方法中均可以。

           

          為什么,連接遠(yuǎn)程數(shù)據(jù)時(shí),在java application中會(huì)無(wú)故down掉呢?

           

          ps. 排除數(shù)據(jù)庫(kù)地址,用戶名,密碼等錯(cuò)誤;我的JDBC驅(qū)動(dòng)是ojdbc14.jar,JDK 1.5

          posted on 2008-07-15 16:28 Jkallen 閱讀(1180) 評(píng)論(3)  編輯  收藏 所屬分類: JEE學(xué)習(xí)

          評(píng)論

          # re: 咨詢一個(gè)自認(rèn)為很奇怪的問(wèn)題(在java中獲取數(shù)據(jù)庫(kù)連接時(shí)相關(guān)) 2008-07-15 16:30 Jkallen
          麻煩兄弟們,幫我頂下哈
          因?yàn)樵诂F(xiàn)場(chǎng),急啊...  回復(fù)  更多評(píng)論
            

          # re: 咨詢一個(gè)自認(rèn)為很奇怪的問(wèn)題(在java中獲取數(shù)據(jù)庫(kù)連接時(shí)相關(guān)) 2009-05-30 13:26 墻頭草
          廣告時(shí)間~~~~~~~~~


          ===================================================
          TinyMCE使用/集成/設(shè)置/詳解(1)
          TinyMCE使用/集成/設(shè)置/詳解(2)
          在FCKeditor中添加右鍵菜單
          FCKEditor自動(dòng)過(guò)濾的解決辦法
          FCKeditor配置與擴(kuò)展   回復(fù)  更多評(píng)論
            

          # re: 咨詢一個(gè)自認(rèn)為很奇怪的問(wèn)題(在java中獲取數(shù)據(jù)庫(kù)連接時(shí)相關(guān)) 2013-10-31 10:11 牛武子
          @Jkallen
          在現(xiàn)場(chǎng) 好苦逼哦  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 双桥区| 汾阳市| 酉阳| 厦门市| 枞阳县| 库车县| 仪征市| 吴忠市| 汉沽区| 象山县| 中方县| 广河县| 油尖旺区| 禹城市| 嘉禾县| 平舆县| 中方县| 崇仁县| 磐石市| 扶绥县| 新建县| 浙江省| 柏乡县| 丹凤县| 都江堰市| 四川省| 洪洞县| 绿春县| 宝清县| 玉树县| 鹤岗市| 炉霍县| 深泽县| 恩施市| 南涧| 开鲁县| 桐城市| 大庆市| 漳浦县| 高青县| 长垣县|