修正: 「 無效的物件名稱 」 錯誤時藉由在不同的資料庫中預存程序


狀況


會傳回下列錯誤,其中的物件名稱是您嘗試更新的資料表名稱︰
無效的物件名稱物件名稱
在下列情況下,就會發生這個錯誤訊息︰
  • 從不同的資料庫中的表格選取記錄的一個資料庫中,有的 SQL Server 預存程序。
  • 產生的資料錄集傳回給應用程式或服務。
  • 然後該資料錄集就是跨處理序傳遞為中斷連接 ADO (ActiveX 資料物件) 的資料錄集到另一個用戶端應用程式。
  • 嘗試更新已中斷連線的資料錄集。

如果資料錄集從未封跨處理序送處理,但直接傳遞到程序嘗試而加以更新,更新陳述式就會成功。

原因


ADO (Msdaprst.dll) 的遠端處理部份不小心覆寫資料錄集包含的中繼資料的部份。當後續建構UPDATE陳述式,這個中繼資料且無法使用的語法不正確,就會產生。

檢查追蹤記錄時選取資料錄,使用正確的 database.owner.tablename 語法,但建構UPDATE陳述式時使用資料表名稱的顯示。

因為連線目前指向包含預存程序和資料表的資料庫不存在於該資料庫,所以不會傳回 「 無效的物件名稱 」 錯誤。

解決方案


現在可從 Microsoft 取得,支援的修正,但它只用來修正本文所述的問題。因此只提供給已遭遇此特定問題。此修正程式可能會接受其他測試。因此,如果這個問題不會嚴重影響,Microsoft 建議您等候下一步的 Microsoft 資料存取 service pack 包含此 hotfix。

若要立即解決這個問題,請連絡 Microsoft 產品支援服務,以取得此修正程式。如需 Microsoft 產品支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站︰附註︰ 在特殊的情況下,通常會因支援電話所產生的費用可能如果會收取 Microsoft 支援專業人員認為某特定更新程式可以解決您的問題。典型的支援的收費適用,如果有其他支援問題是,不能限定的特定更新程式。

此修正程式的英文版應該具有下列檔案屬性或更新版本:
   Date              Version      Size    File name      
-----------------------------------------------------
7/22/99 2.10.4321 203KB msdaprst.dll




狀態


Microsoft 已確認這是本文開頭所列的 Microsoft 產品的問題。

在 MDAC 2.5 中,這個問題已經獲得修正。

最新版本的 Microsoft 資料存取元件 (MDAC) 中,請參閱下列 Microsoft 網站︰

更多的資訊





重要 !

不建議您在目前正在執行的 MDAC 2.1 SP2 的電腦上安裝這個 hotfix (版本 2.12.4202) 或更新版本。此 hotfix 僅能搭配機器執行 MDAC 2.1 SP1 (版本 2.10.3711) 或更早版本。

來減輕記憶體片段的問題,進行到 MDAC 2.1 SP1 和 MDAC 2.1 SP2 之間大量程式碼變更。雖然它不應該有任何嚴重的錯誤會發生,如果 MDAC 2.1 SP2 已套用此 hotfix,如此一來所以極不鼓勵。

若要解決這個問題,MDAC 2.1 SP2 中的,存在個別的 hotfix。

請參閱這篇文章,如需詳細資訊的參考一節。

手動安裝

  1. 關閉或停止的任何應用程式或服務所使用的 Msdaprst.dll。這可能包括網際網路資訊服務 (IIS)、 Microsoft 交易伺服器 (MTS)、 Microsoft 分散式交易協調器 (DTC),以及任何 ADO 或 OLE DB 應用程式。
  2. 立即下載 Msdaprst.dll 的 hotfix 版本到暫存資料夾。
  3. 找出並重新命名目前版本的 Msdaprst.dll,應該是 \Program Files\Common 的 files\System\msadc 資料夾中。
  4. 將 Msdaprst.dll 的 hotfix 版本複製到相同的位置,並重新啟動您的服務及應用程式。


Microsoft Windows 95/98 使用者的重要注意事項

如果您要安裝此修正程式,執行 Windows 95 或電腦與原始版本的 Windows 98 的電腦上,您可能需要安裝此修正程式所隨附的 Windows 98 遷移 DLL。

附註︰ 讀取 Migrate_qfe.txt 檔案隨附於隨附 [下載的 Migration.exe 檔案中。



參考


如需有關此 hotfix 資訊套用於 MDAC 2.1 SP2 的範例,請參閱下列文件找到 「 Microsoft 知識庫 」 中的文︰

238092無效的物件名稱錯誤時在不同的資料庫中更新透過預存程序


如需有關上面所參考的記憶體分散問題的詳細資訊,請參閱下列文件找到 「 Microsoft 知識庫 」 中的文::
230101資料查詢偶而會傳回空的資料錄集