顯示具有 Oracle 標籤的文章。 顯示所有文章
顯示具有 Oracle 標籤的文章。 顯示所有文章

2011/01/04

Oracle 合併 MySQL 之後的問題

  今天收到一封 Oracle 寄來的email,內容是 MySQL 5.5 網路即時研討會.可惜的是內容全是簡體中文,我想 SUN 昇陽被 Oracle 併購之後連原有會員資料也簡體化了嗎 ? 還是提前幫中共統一台灣了.

2010/10/08

Oracle 的編碼問題

  今天遇到的這個問題如果不記錄下來,真的是對不起我自己!因為我又黑掉了,上個月的批次問題使用單位已經不Happy了!昨天系統上新的資料庫程式又出包了.

  進入正題!其實昨天在上新程式時使用 sqlplus 將廠商給的 function source code 加入 DB 時發現看不懂的錯誤訊息.DBA 也看不出問題點,因為直接看 source code 內容很正常,但就是 compile 無法成功.將 script 貼到 TOAD 中竟然就好了.那知道今天早上批次一執行就掛了.Oracle 吐出來的錯誤訊息如下:

ORA-06550: 第 1 行, 第 75 個欄位: PL/SQL: ORA-00933: SQL 命令的結束有問題 ORA-06550: 第 1 行, 第 8 個欄位: PL/SQL: SQL Statement ignored

  明明上程式後DBA有確認所有的 Stored Procedure , function 及一些 object 都正常且沒有 invalid object 的問題.廠商來查也看不出任何問題,因為重新執行批次是正常,那就怪了! 真的是滿腦子的問號 ????????

  後來回想到上程式的問題,再回頭檢視幾支 script 檔發現,有一支檔案大小特別大,打開一看也才不到30行,竟然有 4K,和其它檔案都是 1 K 的實際行數也沒差幾行.再看檔名,才發現好像是昨天出問題那一個.再用 Windows 的 記事本 (NotePad) 打開,執行另存新檔時看到對話盒中的編碼竟然是UNICODE ,這下子凶手抓到了 !

  問題還沒結束,因為心中還是充滿一堆問號.為何 TOAD 可以成功將 UNICODE 編碼的 function source code 編譯成功,但 Oracle 自己在執行該 function 時卻時好時壞 ?

  結論是請 DBA 再用 sql plus 將 ANSI 編碼的 function source code 再重編譯一次.但下次還是要記得用 sql plus 上新程式,免得吃 Oracle 的悶虧 ! 更 .....................

2010/07/14

Java 建立 Oracle connection 問題

  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@100.40.16.14:1521:instanceName", "id", "pwd");


使用 以上Java程式片段 連結 Oracle 資料庫,在建立 Connection 時出現 Exception :
Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153094144)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

  這錯誤訊息實在令人摸不著頭緒,原來只是 DB instance 名稱錯誤,改對就 OK 了 !