delphi 7連線oracle資料庫問題
ADOQuery1: Parameter 'a_id' not found問題
遇到此報錯,首先要查詢是否欄位拼寫問題或者繫結變數時確實“:”,排除這個之後再嘗試以下方法。
1.Delphi 7連線oracle資料庫時沒有Oracle Provider for OLE DB選項
用Microsoft OLE DB Provider for Oracle 連線資料庫時,偶爾會報錯,是因為這個驅動不支援blob欄位,查詢有blob欄位的表示就會報錯。這時候選擇Oracle Provider for OLE DB連線方式就不會有問題。
但如果Delphi中找不到Oracle Provider for OLE DB連線方式怎麼辦?
有2種方法:(我只驗證了a方法,b方法為網路上的方法,未親自驗證)我本機安裝的是Oracle 11g 64位的
a.安裝Oracle 11g 32位客戶端,下載地址http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html
選擇如下圖片中的檔案:
b.安裝ODAC工具,下載地址http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
2.使用Oracle Provider for OLE DB方式連線資料庫時,依然報找不到欄位的錯誤時,看ADOQuery控制元件的ParamCheck屬性是否設定為true,如果為false,則在繫結變數之前還要加上ADOQuery2.Parameters.ParseSQL(ADOQuery2.SQL.Text, True);該引數為true時不需要該語句。
以上純屬個人經驗,如有錯誤,敬請指正!