現象:
執行到以下賦值語句的時候會報,多步操作產生錯誤(如圖
) 開發環境:
vb+ado2.7
,資料庫伺服器為
oracle9i
,客戶端為
oracle9i
精簡版
分析:開始以為是程式**的原因,也看了網上的許多分析,一般產生這種情況的無非是以下原因: 1、
要更新的值跟字段型別不一致 2、
要更新值的長度大於字段定義的長度 3、
將空值插入非空字段中
這些原因基本上是邏輯造成的,但我檢視了**,均排除以上原因,而且最大的問題是,客戶端如果安裝的是
9i完整版,那不會報上面這個錯誤,如果客戶端裝的是
9i精簡版,就會出現以上問題,有乙個解決辦法就是客戶端直接用
9i完整版安裝,但乙個問題是,完整版要
1g多,精簡版不到
13m,有點不甘心。
再測,發現使用
cnn.execute 「update…」
方式,更新記錄是可以的,而且用賦值的辦法更新其他表多沒問題,於是將f表
drop
重建,還是一樣,再將f表
drop
,而且把錶結構變掉,發現還是會報錯,修改表名變為
f_z,不報錯,太奇怪了,難道跟表名有關?
結論:可能是9i
精簡版的乙個
bug,不能對
f表進行
vb賦值操作
解決辦法:
1、修改表名,在資料庫設計的時候不建議使用像
a,b,f
這樣簡單的表名 2、
修改更新方式,將其改為
cnn.execute 「update…」方式
3、客戶端裝
9i完整版
多步OLE DB 操作產生錯誤
如果您在程式設計過程中遇見錯誤如下 多步ole db 操作產生錯誤。如果可能,請檢查每個ole db狀態值 那麼你可以往一下考慮 1 原因很可能是你 select from 這句話,如果你資料庫裡這張表的字段很多的話可能就會產生ole db錯誤,你不妨從資料庫中呼叫資料的時候用 select 用到的...
多步OLE DB操作產生錯誤
多步ole db操作產生錯誤。如果可能,請檢查每個ole db狀態值。沒有工作完成。看到這句話,大家是不是很熟悉呢,敲完資訊管理系統,在測試的時候,新增各種資訊,一不小心這句話就會跑出來。查了很多資料,找到乙個特別有效的方法,就是對我們的資料庫中的表進行一下小小的操作。1.開啟sql server中...
多步 OLE DB 操作產生錯誤
由於筆記本更換了硬碟,重灌了系統。因此,需要重新配置機房,但一切搞定之後,登陸就遇到了問題,如下圖所示 查了很多資料,基本上有幾種說法 1.資料型別不匹配 2.輸入字元超出了允許的範圍 3.管理員命名有特殊字元,需要去掉特殊字元 4.系統時間日期格式設定不合適 在我一一嘗試過後,最終方案4解決了我的...