xih  
          日歷

          導(dǎo)航

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

           

          2007年3月15日

          在查詢時(shí)報(bào)下面的錯(cuò)誤,使用的是hibernate,oracle數(shù)據(jù)庫,并做了集群
          WARN - SQL Error: 17002, SQLState: null
          ERROR - Io 異常:Software caused connection abort: recv failed
          請(qǐng)問是什么原因造成的,謝謝!

          posted @ 2010-09-02 10:37 費(fèi)思量 閱讀(514) | 評(píng)論 (0)編輯 收藏
           
          ???參考hibernate對(duì)hql語句的解析,寫了對(duì)SQL語句的解析,并生成相應(yīng)的對(duì)象。主要為了自定義查詢條件進(jìn)行查詢和對(duì)查詢結(jié)果進(jìn)行二次查詢使用。目前只支持簡單的sql語句的解析,不支持子查詢的解析。在壓縮包中只給出了解析程序,沒有包括對(duì)應(yīng)的查詢對(duì)象。鏈接:程序源碼
          posted @ 2009-04-01 11:34 費(fèi)思量 閱讀(422) | 評(píng)論 (0)編輯 收藏
           
          項(xiàng)目要求能獲得CONNECTION便于對(duì)數(shù)據(jù)庫的操作,并要求能與spring中的事務(wù)處于同一事務(wù)中。實(shí)現(xiàn):
          1.定義SanHibernateTransactionManager類,繼承spring中的
          HibernateTransactionManager,便于獲得HibernateTransactionObject。把這個(gè)類注入到spring容器中。
          < bean? id ="transactionManager"
          ????????class
          ="com.san.tools.hibernate.SanHibernateTransactionManager" >
          ????????
          < property? name ="sessionFactory" >
          ????????????
          < ref? bean ="sessionFactory" />
          ????????
          </ property >
          ????
          </ bean >

          ?
          public?class?SanHibernateTransactionManager?extends?HibernateTransactionManager{

          ????
          public?Object?getTransactionObj(){
          ????????
          return?super.doGetTransaction();
          ????}

          ????
          ????????
          ????
          public?boolean?existsTransaction(Object?transaction){
          ????????
          return?super.isExistingTransaction(transaction);
          ????}

          ????
          ????
          public?Session?getSession(){
          ????????
          return?SessionFactoryUtils.getSession(this.getSessionFactory(),?true);
          ????}

          ????
          ????
          public?Session?getCurrentSession(){
          ????????HibernateTransactionObject?obj?
          =?(HibernateTransactionObject)this.getTransactionObj();
          ????????
          return?obj.getSessionHolder().getSession();
          ????}

          }

          2.開始事務(wù)。
          public ? void ?beginTransaction()? throws ?SQLException {
          ????????
          // TransactionDefinition.PROPAGATION_REQUIRED:支持當(dāng)前的事務(wù),如果不存在就創(chuàng)建一個(gè)新的。

          ????????DefaultTransactionDefinition?transactionDef? = ? new ?DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
          ????????
          // 創(chuàng)建一個(gè)TransactionStatus

          ????????TransactionStatus?transactionStatus? = ?transactionManager.getTransaction(transactionDef);
          ????????
          //
          取得綁定到當(dāng)前線程上的session。從HibernateTransactionObject中獲得,這里修改了spring中HibernateTransactionManager.java文件,
          ????????
          // 將private?HibernateTransactionObject改為protected?HibernateTransactionObject

          ????????Session?session? = ?transactionManager.getCurrentSession();
          ??????
          if (session? != ? this .session)
          {
          ????????????System.err.println(
          " session不是同一對(duì)象 "
          );
          ????????}

          ????????
          // 將transactionStatus保存到集合中
          ???????? this .transactionStatuss.add(transactionStatus);
          ????????
          this .beginTransaction? = ? true
          ;
          ????}
          3.提交事務(wù)
          public ? void ?commit()? throws ?HibernateException,SQLException {
          ????????
          // 循環(huán)TransactionStatus集合,直至第一個(gè)transactionStatus被提交時(shí),才真正提交

          ???????? for ( int ?i? = ?transactionStatuss.size()? - ? 1 ;i? >= ? 0 ;i -- ) {
          ????????????DefaultTransactionStatus?transactionStatus?
          =
          ?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.commit(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          4.回滾事務(wù)
          public?void?rollBack(){
          ????????
          for(int?i?=?transactionStatuss.size()?-?1;i?>=?0;i--){
          ????????????DefaultTransactionStatus?transactionStatus?
          =?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.rollback(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          ???????貼出這段代碼一是為了共享一點(diǎn)所得,二是希望能指出中間有什么不正確的地方(心里不是很有底)
          posted @ 2009-03-30 15:32 費(fèi)思量 閱讀(540) | 評(píng)論 (1)編輯 收藏
           

           

          function doPrint(servlet, form) {
              
          var oWord = new ActiveXObject("Word.Application");
              
          var oDoc = oWord.Documents.Add("",0,1);
              
          var strFields = form.elements["gFields"].value;
              
          var fields = strFields.split(",");
              oWord.Selection.TypeParagraph();    
              oWord.Selection.Style 
          = oDoc.Styles("正文");
              
          var wdPageBreak = 7;
              oWord.Selection.InsertBreak(wdPageBreak);        
          //生成下一頁,用于產(chǎn)生正文部分。當(dāng)前頁用于生成目錄
              for(var i=0;i<fields.length;i++){
                  form.elements[
          "gFields"].value = fields[i];
                  
          var oRange = oWord.Selection.Range;
                  pastObj(servlet,form,oWord);
                  
              }

              oWord.Selection.TypeBackspace();        
          //去掉最后一頁
              oWord.Selection.HomeKey(6);        //返回首頁的第一行
              oWord.Selection.Font.Bold = 9999998;    //加粗
              oWord.Selection.Font.Size = 16;        //設(shè)置字體大小(3號(hào))
              oWord.Selection.TypeText("目錄");
              oWord.Selection.ParagraphFormat.Alignment 
          = 1;        //居中
              oWord.Selection.TypeParagraph();        //換行
              oWord.Selection.Style = oDoc.Styles("正文");        //樣式設(shè)為正文
              oWord.Application.WindowState = 2;
              oWord.Application.WindowState 
          = 0;
              
          //生成目錄
              oWord.ActiveDocument.TablesOfContents.add(oWord.Selection.Range,true,1,3,false,"",true,true,"",true,true,true);
              oWord.ActiveDocument.TablesOfContents(
          1).TabLeader = 1
              oWord.ActiveDocument.TablesOfContents.Format 
          = 0;
              oWord.Selection.Sections(
          1).Footers(1).PageNumbers.Add(2,true);        //在頁腳出生成頁碼
              oWord.Application.Visible = true;
              
          //退出word
              //oWord.Quit();
              oWord = null;
          }

          function pastObj(servlet, form,oWord){
              
          var ajax = new AJAXInteraction(servlet, function(requestText) {
                      
          if (requestText == "FAILED"{
                          
          return;
                      }

                      
          else {
                          
          var oDoc = oWord.ActiveDocument;
                          
          var sele = oWord.Selection;
                          sele.Style 
          = oDoc.Styles("標(biāo)題 1");        //設(shè)置樣式為標(biāo)題1
                          var tempObj = document.getElementById("content");
                          tempObj.innerHTML 
          = requestText;
                          
          var title = document.getElementById("title_"+form.elements["gFields"].value).value;
                          oWord.Selection.TypeText(title);    
          //取得單位名稱,并設(shè)為標(biāo)題
                          sele.TypeParagraph();        //換行
                          sele.Style = oDoc.Styles("正文");    //設(shè)置樣式為正文
                          var arrs = requestText.split("^^^");
                          
          for(var i=0;i<arrs.length;i++){
                              
          var obj = document.getElementById("content");
                              obj.innerHTML 
          = arrs[i];
                              
          var sel = document.body.createTextRange();
                              sel.moveToElementText(obj);
                              sel.select();
                              sel.execCommand(
          "Copy");
                              sele.paste();
                              
          var wdPageBreak = 7;
                              sele.InsertBreak(wdPageBreak);        
          //生成下一頁
                          }

                      
          //sele.TypeParagraph();
                      //sele.TypeText("測(cè)試1");
                      //sele.Style = oDoc.Styles("正文");
                      }

                  }
          );
              ajax.doPost(getRequestBody(form));
          }

           

          posted @ 2007-07-16 09:30 費(fèi)思量 閱讀(2668) | 評(píng)論 (4)編輯 收藏
           
               摘要:   閱讀全文
          posted @ 2007-03-15 16:46 費(fèi)思量 閱讀(6148) | 評(píng)論 (1)編輯 收藏
           
          Copyright © 費(fèi)思量 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 诸城市| 庄浪县| 新昌县| 灌南县| 贺州市| 临高县| 内丘县| 苍溪县| 恩施市| 来安县| 罗源县| 承德县| 玉林市| 苍溪县| 临清市| 行唐县| 宝兴县| 长泰县| 昭通市| 洪泽县| 什邡市| 梨树县| 襄樊市| 五家渠市| 昭通市| 朝阳区| 长垣县| 江津市| 博乐市| 徐水县| 闽侯县| 淮滨县| 大竹县| 洱源县| 敦煌市| 北海市| 鹤壁市| 阜新市| 翁牛特旗| 牡丹江市| 卢湾区|