ADO更新MYSQL BLOB字段備註

  項目中不乏使用MYSQL數據庫,但是操作BLOB字段都是用Hibernate完成的。後用C++寫了個工具,在幾個數據庫之前倒換數據,在向MYSQL數據庫更新BLOB字段時遇到了困難,經過一天不懈的努力,終於解決了。

  遇到的錯誤包括:

  BOF 或 EOF 中有一個是“真”,或者當前的記錄已被刪除,所需的操作要求一個當前的記錄。

  缺少更新或刷新的鍵列信息。

  [MySQL][ODBC 5.1 Driver][mysqld-5.1.50-community]Build WHERE -> insert_fields() failed.

  以及所有操作成功後,但BLOB字段還是爲空,未更新。

  

  解決這些問題,要注意的是:

  MySql查詢時如果條件字符中有"\",需要轉義,使用“\\”,否則查詢不出結果來,就沒法更新其中的BLOB值,就報相應的錯。

  查詢BLOB的select語句中,也需要把主鍵select出來,比如select key,blob from table where key=...,否則也報錯,找了好久才從MySql的update語句出錯這裏看到一點信息,抱着試試的心態試了下,果然是這樣,差一點就放過了。

  然後就是使用MyODBC 5.1.5驅動的問題,打開ado對象遊標時設置成adUseClient類型才能使用Blob,參考mysql不支持ado/myodbc進行blob類型數據的插入操作??

發佈了42 篇原創文章 · 獲贊 20 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章