多步操作產生錯誤

2021-04-21 10:23:45 字數 877 閱讀 4508

現象:

執行到以下賦值語句的時候會報,多步操作產生錯誤(如圖

) 開發環境:

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解決了我的...