代码之家  ›  专栏  ›  技术社区  ›  BBlake

Microsoft OLE DB Provider for SQL Server错误“80040e14”找不到存储过程

  •  0
  • BBlake  · 技术社区  · 16 年前

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

    我已经证实:

    • 是的,使用正确的用户名和密码设置了SQL用户
    • 是的,SQL用户对数据库中的存储过程具有执行权限
    • 是的,我用SQL用户id通过SSMS登录到数据库,它可以在SSMS中看到并执行存储过程,但不能从web应用中看到。
    • 是的,SQL用户将数据库设置为其默认数据库。

    最令人沮丧的是,它在DEV服务器上运行良好,但在生产服务器上运行不好。我已经经历了每一个IIS设置5或6次,web应用程序在这两种环境中的设置完全相同。唯一的区别是连接字符串中的数据库服务器名称(DEV vs prod)

    编辑:我还尝试将prodweb框指向dev数据库服务器,得到了相同的错误,因此我非常确定问题不在数据库端。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Cade Roux    16 年前

    你确定你真的连接到你认为你是(在应用程序中)的实例和数据库了吗?它只需要连接字符串中错误的DB就可以覆盖用户的默认数据库。

    是否可以在连接上执行一些内联SQL,例如:

    SELECT @@SERVERNAME AS SERVERNAME
        ,DB_NAME() AS [DB_NAME]
        ,CURRENT_USER AS [CURRENT_USER]
    
        2
  •  0
  •   Iraklis    16 年前