資料提供程式或其他服務返回E FAIL 狀態

2021-07-26 05:25:45 字數 1223 閱讀 6827

環境:xp,oracle9.0.0.1,vc2008

問題:我ado連線10g的資料庫,**裡執行到m_precordset->getrecordcount的時候異常,看提示錯誤資訊是:資料提供程式或其他服務返回e_fail 狀態。但程式在其他機器上都是正常的,只是在這台機子上有問題

解決:上網搜尋一下,說是

1:ado 需要更新;

2:資料庫壞了。

因這台機子是9g,其他機器都是10g,語句決定先排除資料庫錯誤,

先將查詢的表匯出

cmd執行exp dlmis/dlmis@orcl file=e:tzrec3456.dmp tables=(tzrec3456),報錯:exp-00003:未找到段(6,675675) 的儲存定義。

繼續上網搜尋,說這是oracle9205的bug,當匯出blob型別資料時會有這個錯誤

然後上網查修改bug

如下:問題描述:本地oracle客戶端版本為9.2.0.1,而資料庫

伺服器版本為9.2.0.5。在本地利用exp將資料從伺服器匯出時,在遇到有大物件(blob, clob)的表時,出現錯誤:exp-00003。經過確認,發現時oracle的bug。解決方法如下:

方法一:將客戶端公升級版本公升級為9.2.0.5。

方法二:

步驟1 修改$oracle_home/rdbms/admin/catexp.sql檔案(在修改之前,請務必對該檔案做備份,以防失誤),

將「union all select * from sys.exu9tneb」加入到檢視exu9tne定義的最後一行,如下:

create or replace view exu9tne (

tsno, fileno, blockno, length) as

select ts#, segfile#, segblock#, length

from sys.uet$

where ext# = 1

union all

select * from sys.exu9tneb

/ 步驟2 以sys帳號執行該指令碼。

這樣,即可以用低版本的客戶端匯出版本為9.2.0.5的資料庫伺服器上的資料。

以上兩種方法,相比之下,建議採用第二種,因為這樣可以不用公升級每個客戶端,從而減少了麻煩。但是採用第二種方法時,一定要對注意catexp.sql進行備份。

解決:我沒用這兩種方法,直接把9g卸了,重新裝了10g,不報錯了

參考:

LSP(分層服務提供程式)

一 簡介 二 lsp操作 netsh winsockoption 顯示命令列表。audit 顯示已經安裝和刪除的 winsock lsp 列表。dump 顯示乙個配置指令碼。help 顯示命令列表。remove 從系統中刪除 winsock lsp。reset 重置 winsock 目錄為清除狀態。...

資料服務 基於SpringBoot提供資料服務

資料採集 資料傳輸 資料儲存 資料計算 分析 挖掘 資料服務 資料管理01.初始情況,將資料匯入,然後傳給對方,稍微控制一下的,指定專人導資料,通過流程控制資料的流轉 02.通過資料庫,提供資料表的形式 03.通過介面的形式 資料服務架構 通過soa的形式 靈活性 擴充套件性 可復用性 資料使用方 ...

程式返回資料的標準格式

當你需要寫乙個函式來驗證,處理資料時,返回資料是必須的 通常來講,寫函式是為了重用 使這個函式可以通用在很多地方,比如驗證表單資訊,驗證會員身份,驗證餘額,處理會員資料,查詢資料 這個時候,就得返回驗證失敗或者成功,驗證失敗也有驗證失敗的提示資訊,返回資料也有可能有錯誤資訊,也有返回成功的資料,所以...