2014-01-27 62 views
1

我在我的SQL Server數據庫中有一個Oracle鏈接服務器。當執行過程:無法從OLE DB提供程序「OraOLEDB.Oracle」爲鏈接服務器獲取一行

我使用本地登錄然後Windows身份驗證登錄到SQL Server。

作爲管理員(即設置鏈接服務器的帳戶),我可以直接查詢或嵌入存儲的proc中,然後執行proc而不會出現問題。

作爲我的具有完全管理員權限的用戶,並且已經添加了Windows安全設置上的所有SQL Server組,我可以使用同義詞或OpenQuery語法很好地查詢我的鏈接服務器。但是,如果我試圖執行的一個存儲過程,它會給我

Message 1: 
The OLE DB provider "OraOLEDB.Oracle" for linked server "<server name>" reported an error. The provider did not give any information about the error. 

Message 2: 
Cannot execute the query "<query string>" against OLE DB provider "OraOLEDB.Oracle" for linked server "<server name>". 

我在網上搜索,通常試圖運行即席查詢,當人們看到這個emssage的錯誤消息。我的即席查詢運行得很好。不過,我應用了選擇的解決方案,即在OLEDB提供程序上檢查「Allow inprocess」選項。這樣做沒有幫助。

有什麼想法?

回答

1

請打開鏈接服務器>提供程序並選中「允許正在處理」,爲提供程序啓用「允許正在處理」選項。欲瞭解更多詳細信息,請參考以下鏈接:

揭祕SQL Oracle的分佈式查詢問題 http://blogs.msdn.com/b/bindeshv/archive/2008/05/21/demystifying-sql-oracle-distributed-query-issues.aspx

來源: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/902f5edf-e357-4ee7-82e8-ea5760882985/cannot-fetch-a-row-from-ole-db-provider-oraoledboracle-for-linked-server-linkedservername?forum=sqldataaccess

+0

已經做到了。看到我原來的帖子。但我放棄了。我放棄了proc並重新開始。我現在有一些成功。 – user158017

相關問題