最近真的是被Oracle搞的暈頭轉向,因為我是Oracle菜鳥(沒用過= =|||),一直以來都是寫MSSQL資料庫程式,今天應客戶需求將PDA上的資料存取由MSSQL轉為Oracle 10g Database
最近真的是被Oracle搞的暈頭轉向,因為我是Oracle菜鳥(沒用過= =|||),一直以來都是寫MSSQL資料庫程式,今天應客戶需求將PDA上的資料存取由MSSQL轉為Oracle 10g Database,由於程式是透過Web Service方式執行,所以PDA上面完全不用動到,Web Service端則改由使用System.Data.OracleClient這個Provider來運作,並完成相關程式碼的修改。
但...怪事來了,為何程式執行時PDA上面出現了下面這個訊息呢?(ORA-01036 變數名稱口號碼無效)
查了一下,原來是OracleCommand的參數出了問題,根據MSDN文件庫的說法,必須改為 : (冒號)才可以,另外 OracleParameter 物件加入 Parameters 屬性時也不要在具名參數前面加上冒號 (:)。因為 .NET Framework Data Provider for Oracle 會自動加上冒號。
詳細資料: OracleCommand.Parameters 屬性 (MSDN Library)
下面程式碼,被我註解掉的部份就是錯誤的