JUST DO IT ~

          我只想當(dāng)個(gè)程序員

          異常 外圍系統(tǒng)調(diào)用本系統(tǒng) 參數(shù)不正常引起的問題 ORA-06502: PL/SQL: 數(shù)字或值錯(cuò)誤 : 字符串緩沖區(qū)太小


          外圍報(bào)盤程序 .net 調(diào)用

          傳遞的參數(shù) varchar2  100


          存儲(chǔ)過程

          procedure p400106
          (
           o_cursor        out types.ref_cursor,  --返回的查詢結(jié)果
           o_status        out INTEGER,           --狀態(tài)標(biāo)志:-1,0
           o_retmsg        out VARCHAR2,          --返回信息
            v_scust_no       in varchar2 ,         --客戶號(hào)char  [11]


          當(dāng)過程返回的錯(cuò)誤信息變量被 賦值 > 100 的字符后 就出錯(cuò)了.... 比較隱晦.

          由外圍系統(tǒng)調(diào)用產(chǎn)生的錯(cuò)誤.










          外部系統(tǒng)(別人的程序 ) 調(diào)用存儲(chǔ)過程  
          我對(duì)輸入?yún)?shù)要求 是 1,2  別人確輸入了4  而且錯(cuò)誤隱晦


            if var ==1  ...
            if var ==2 
            else rasie  excption 



          if ( var  not  in ( '1' , '2') ){
             var :=2 ;  // 設(shè)定默認(rèn)值
          }
          ?
          建議
           1. 要么使用異常 對(duì)輸入的value 進(jìn)行排查.報(bào)錯(cuò)輸出

          2  要么是統(tǒng)一過濾 如果不是 1,2  那么我強(qiáng)制設(shè)定一個(gè)默認(rèn)值
          必須在是 那個(gè) ....

           但是交易中買賣方向是 B S 以外的那么怎么半呢 ?? 這類問題通常調(diào)試階段很容易查處來的.... 建議用報(bào)錯(cuò)的方式 提示..........
          雖然默認(rèn)值的方式 穩(wěn)定性更好.........
          但是交易方式的問題不容 絲毫差錯(cuò) ............


          使用別人的數(shù)據(jù)庫
          小數(shù)點(diǎn) 進(jìn)度 進(jìn)入到我們的數(shù)據(jù)庫
          別人數(shù)據(jù)庫的 沒處理好


          成交回報(bào)寫入數(shù)據(jù)庫錯(cuò)誤,數(shù)據(jù)庫錯(cuò)誤信息:code:msg:error:ORA-06502: PL/SQL: 數(shù)字或值錯(cuò)誤 :  字符串緩沖區(qū)太小
          ORA-06512: 在 "ITMP.IDMP_STOCK", line 978
          ORA-06502: PL/SQL: 數(shù)字或值錯(cuò)誤 :  字符串緩沖區(qū)太小
          ORA-06512: 在 "ITMP.IDMP_MARKET", line 1479
          ORA-06510: PL/SQL: 用戶定義的異常錯(cuò)誤未得到處理
          ORA-06510: PL/SQL: 用戶定義的異常錯(cuò)誤未得到處理
          ORA-06512: 在 line 1

          System.Data.OracleClient
             在 System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
             在 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
             在 System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
             在 System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
             在 fundoffer.DatabaseProcess.sp5106(String custno, String stkcode, String entsys, String cjno, Int32 entnum, Single cjamt, Single cjprice, String cjdate, String cjtime, String bstp, String kptp, String exchgcode, String seatno, String exchgcustno, String& retcode, String& retmsg) 位置 E:\ 接口調(diào)試\seat_new_fundoffer\fundoffer\DatabaseProcess.cs:行號(hào) 787
             在 fundoffer.HolderCjhb.QBWriterDB() 位置 E:\ 接口調(diào)試\seat_new_fundoffer\fundoffer\HolderCjhb.cs:行號(hào) 426


           

          posted on 2008-09-10 10:58 小高 閱讀(5778) 評(píng)論(0)  編輯  收藏 所屬分類: Exception 異常處理

          導(dǎo)航

          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關(guān)注的blog

          手冊(cè)

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 吉隆县| 都江堰市| 腾冲县| 敦化市| 武山县| 镇康县| 东阳市| 昌吉市| 商洛市| 武定县| 称多县| 迁西县| 寿阳县| 高平市| 上犹县| 连城县| 清河县| 锡林郭勒盟| 永康市| 嘉义市| 马关县| 咸宁市| 全椒县| 田东县| 滨州市| 镶黄旗| 临城县| 阳新县| 天祝| 化州市| 喀喇| 鹤壁市| 黄冈市| 乌兰察布市| 莒南县| 台江县| 伊吾县| 通化县| 金华市| 凤阳县| 沧州市|