【问题标题】:Cannot connect to SQL Server instance from web application but can from SSMS无法从 Web 应用程序连接到 SQL Server 实例,但可以从 SSMS
【发布时间】:2013-05-03 13:49:38
【问题描述】:

我已经安装了 SQL Sever 2008 R2 Express,并且能够使用(本地)和 Windows 身份验证通过 SSMS 连接到它。

但是,当尝试从在 Visual Studio 2012 中运行的 MVC Web 应用程序连接到它时,我在尝试打开与它的连接时遇到了与网络相关的异常。

这是我的连接字符串:

connectionString="Server=.\SQLEXPRESS;Database=DavisFamily;UserID=adminuser;Password=******;"

我知道这在其他环境中设置正确,因为其他人的应用程序运行良好。我需要我的机器能够接受这个连接字符串并使用它。


所以我刚刚打开 Sql Server 配置管理器来尝试确定我的实例名称是什么,我注意到的第一件事是当我单击“SQL Server 配置管理器”树结构的“SQL Server Servies”节点时,我在右侧窗格中收到一条错误消息,提示“远程过程调用失败。[0x800706be]

这与为什么我无法从 Web 应用程序连接到它有什么关系吗?请记住,我可以使用 SSMS“(本地)”直接连接到它。

【问题讨论】:

    标签: database sql-server-2008 sql-server-2008-r2 database-connection


    【解决方案1】:

    转到 SQL Server 配置管理器(在 sql server 配置工具下)

    打开 SQL server 网络配置

    为您的实例打开协议确保启用 TCP/IP

    打开tcp/ip属性,在IP All下>设置端口号为1433

    【讨论】:

      【解决方案2】:

      哦,我明白了。对于第一个问题,我认为这可以帮助您: 现在您使用 adminuser 作为您的登录用户名。您可以为其设置一些属性。

      首先使用 Sql Server 身份验证 用户名:sa 和您的密码登录您的 sql。 然后这样做...

      在您的 SQL Server Management Studio 和左侧树 > 安全 > 登录 > 右键单击​​ adminuser 并选择 Properties > 在 Server Roles检查 publicsysadmin 框 > 然后在 User Mapping 中检查您要使用的数据库 DavisFamily > 然后点击确定

      尝试上述操作...这些可能会有所帮助。

      对于第二个问题(错误消息“远程过程调用失败。[0x800706be])。 导致此问题的原因有很多...您是否在 Windows 上安装了另一个较低版本的 sqlserver?如果是,请查看该版本的 __Sql Server 配置管理器__。也许这会导致该问题...我还阅读了一些有此错误的人,通过安装 SQL Server 2008R2 service pack 1 解决了这个问题。
      您也可以查看以下链接:
      [链接1]:Remote Procedure call failed with sql server 2008 R2
      [链接2]:The remote procedure call failed

      【讨论】:

        【解决方案3】:

        也许这对你有帮助。 如果我理解了你的意思……那么: 通过使用下面的代码,您可以访问您的服务器和数据库信息。 试试...这可能会有所帮助。

        using Microsoft.SqlServer.Management.Smo;
        
        Server server = new Server(".\SQLEXPRESS");
        string Name = server.Databases[0].Name;//Also the Name of your Database 
        server.Databases["DavisFamily"].Rename("NewName");//Rename
        

        这段代码是用 C# 编写的。但请注意,我猜你可能无法对当前应用程序或网站使用的数据库使用此 重命名 函数

        【讨论】:

        • 感谢您的回复,但不,我不是这个意思。我的机器上运行了一个 SQL Server 实例,我需要更改它的配置方式,以便当前在其他人的机器上运行的代码可以在我的机器上运行。我认为它可能被命名为奇怪的东西,所以我在问如何进入并更改它的名称,而不是在代码中以编程方式进行。
        猜你喜欢
        • 1970-01-01
        • 2012-01-14
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多