一次使用OCI的排錯經歷

2022-04-02 21:01:37 字數 425 閱讀 7220

使用vs c++ 2005 + sp1

和oracle 10g的oci庫開發乙個應用程式。

其中在連線資料庫伺服器呼叫ocienvcreate函式返回-1,開始百思不得其解,本想通過ocierrorget()函式獲取相關錯誤資訊。但聽公司一位高手說,ocienvcreate函式呼叫失敗,是無法使用ocierrorget()函式獲取錯誤資訊的(因為連環境都沒建立)。

後來我想了一下,我的這個oci庫是oracle 9i的。但是在我的機子上裝的是oracle 10g的客戶端,我想是不是oracle 9i的oci無法初始化oracle 10g的客戶端呢?於是我改用oracle 10g的oci。結果ocienvcreate函式返回值正確了。

雖然問題解決了,但是我還是無法驗證自己的想法是不是正確的。很多時候就是這樣的,即使你解決了問題,但是你也決不能保證你真正通曉了問題的根源。

記一次讓人的噴血的排錯經歷

還原場景 資料庫某個字段設定的長度是nvchar 10 可當時並不知曉啊.結果導致下單介面返回 將截斷字串或二進位制資料 查了半天 下單引數實在太多 最終追蹤到某個字段長度不夠導致.因為內部有異常捕獲,所以呼叫方拿到了錯誤訊息!但更詭異的是 竟然生成了訂單資料,只不過字段不夠的那張表失敗了.模擬 t...

記一次tomcat部署排錯經歷(jar衝突)

18 feb 2022 08 32 46.836 severe localhost startstop 1 org.apache.catalina.core.standardcontext.startinternal context ospflowcenter startup failed due ...

記一次DHCP排錯

如拓撲,某業務整個網路劃分在乙個vlan之下,入網的終端裝置要接收來自dhcp伺服器的ip指派,業務正常,客戶開心,一切都顯得祥和安靜 忽然有一天,使用者的乙個動作打破了一切。他把終端的網線無情的插入到了路由的lan口,如此,路由器本身的dhcp發揮作用,混進了這個vlan。自此,這個vlan下廣播...