我正在將經典ASP Web應用程序遷移到新服務器。數據庫後端正在從SQL Server 2000遷移到SQL Server 2008,並且該應用程序正在從Win2000 x86遷移到Win2003R2 x64。我在應用程序內的每個存儲過程調用中都收到上述錯誤。用於SQL Server的Microsoft OLE DB提供程序錯誤「80040e14」找不到存儲過程
我已經驗證:
- 是,SQL用戶設置,使用正確的用戶名和密碼,
- 是,SQL用戶在數據庫
- 執行對存儲過程的權限是,我已將TypeLib引用更新爲新的UUID。是的,我已通過SSMS使用SQL用戶標識登錄到數據庫,它可以在SSMS中看到並執行存儲過程,但不能從Web應用程序中執行。
- 是的,SQL用戶將數據庫設置爲其默認數據庫。
最令人沮喪的是它在DEV服務器上正常工作,但不在生產服務器上。我經歷了每次IIS設置5次或6次,並且在兩種環境中都設置了完全相同的Web應用程序。唯一的區別是連接字符串中的數據庫服務器名稱(DEV vs prod)
編輯:我也試過在dev數據庫服務器上指向prod web box,並得到相同的錯誤,所以我相當確定問題不在數據庫端。
你檢查過生產箱和SQL服務器之間的Windows防火牆和其他防火牆嗎?您將需要打開端口1433和1434(可能還有135)。 – Oded 2010-05-26 13:55:14
它實際上使用不同的自定義端口。然而,我相信這不是問題,因爲在同一個prod框上有幾個ASP.NET應用程序,它們連接到相同的prod SQL框上的數據庫,工作得很好。 – BBlake 2010-05-26 14:00:43