繁体   English   中英

Microsoft OLE DB提供程序的SQL Server错误'80040e14'找不到存储的过程

[英]Microsoft OLE DB Provider for SQL Server error '80040e14' Could not find stored procedure

我正在将经典的ASP Web应用程序迁移到新服务器。 数据库后端从SQL Server 2000迁移到SQL Server 2008,应用程序从Win2000 x86迁移到Win2003R2 x64。 我在应用程序中的每个单个存储过程调用上都收到上述错误。

我已验证:

  • 是的,使用正确的用户名和密码设置了SQL用户
  • 是的,SQL用户对数据库中的存储过程具有执行权限
  • 是的,我已经将TypeLib引用更新为新的UUID
  • 是的,我已经使用SQL用户ID通过SSMS登录了数据库,它可以在SSMS中很好地查看和执行存储过程,但不能从Web应用程序中执行。
  • 是的,SQL用户已将数据库设置为其默认数据库。

最令人沮丧的是,它可以在DEV服务器上正常工作,但不能在生产服务器上正常工作。 我已经对每个IIS设置进行了5到6次设置,并且在两种环境中Web应用程序都设置完全相同。 唯一的区别是连接字符串中的数据库服务器名称(DEV vs prod)

编辑:我还尝试过将prod Web框指向开发数据库服务器,并得到相同的错误,因此我可以确定问题不在数据库侧。

您确定您确实已连接到自己认为的实例和数据库(在App中)吗? 仅在连接字符串中使用错误的数据库即可覆盖用户的默认数据库。

您可以在连接上执行一些内联​​SQL吗:

SELECT @@SERVERNAME AS SERVERNAME
    ,DB_NAME() AS [DB_NAME]
    ,CURRENT_USER AS [CURRENT_USER]

它可能是模式。 您是否在使用的数据库中设置了用户的默认架构?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM