【问题标题】:provider: SQL Network Interfaces, error: 25 - Connection string is not valid提供程序:SQL 网络接口,错误:25 - 连接字符串无效
【发布时间】:2013-04-25 15:15:13
【问题描述】:

我在本地计算机上使用 VS2012 和 SQL 2008R2 开发了这个应用程序。我正在尝试将其移至生产服务器。它是带有 2012 SQL Server 的虚拟服务器。我检查了远程连接的所有属性,一切都已启用。应用程序打开登录屏幕,一旦我输入用户名和密码(这是使用 WSAT 在我的计算机上创建的。现在我收到此错误: 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:25 - 连接字符串无效) 这就是我在 web.config 中的内容:

<connectionStrings>
    <remove name="LocalSqlServer" />
<add connectionString="Server=\\events;Database=Digital Signage;Integrated Security=true" name="DSConnectionString" />
    <add connectionString="data source=\\events;Integrated Security=SSPI;AttachDBFilename=c:\\DS\aspnetdb.mdf;User Instance=true" name="LocalSqlServer" providerName="System.Data.SqlClient" />

【问题讨论】:

    标签: vb.net connection-string


    【解决方案1】:

    不完全确定,但有几点可以帮助您解决问题:

    • 您可以使用this 之类的资源来帮助您生成适当的连接字符串
    • 我不确定Server=\\events 听起来是否完全正确 - 您或许应该在远程部署时将其替换为此处的实际 SQL 实例名称(&lt;machine name&gt;&lt;machine name&gt;\&lt;instance name&gt; 用于命名实例)
    • 您可能不需要明确说明 SQL Server 正在侦听的端口(如果它仍然是默认的 1433),但要记住一些事情
    • 您是否在代码中明确引用了连接字符串LocalSqlServer?如果是这样,您是否在构建和部署之前将其更改为引用连接字符串DSConnectionString? (NB. 最好只保留连接字符串条目,但将连接字符串的值更改为 SQL 2012 实例所需的值,而不是创建新的连接字符串条目,但我我不确定您的具体用例)

    【讨论】:

    • LocalSqlServer 仅用于我认为的用户帐户数据库(ASPNETDB.dbf),其余地方我使用 DSConnectionString 连接到我的表。由于我在开发中使用了 2008R2,而在生产中使用了 2012,这就是我遇到问题的原因。
    • 不,我认为您不应该在版本之间存在问题。您的连接字符串中可能有一些有趣的东西 - 我会使用 connectionstrings.com 尝试为您构建一个合适的连接字符串
    • 好的,我添加了带有用户名和密码的 sql 身份验证。现在它说找不到数据库。我通过 IIS 从连接字符串中删除了 LocalSqlServer 链接。 LocalSqlServer 在 machine.config 中声明。
    • 服务器上是否定义了 SQL 身份验证帐户,是否对数据库具有权限?可能(不确定)您的数据库名称中有空格? (我自己从来没有处理过这个问题)...是否可以重命名您的数据库,使其中没有空格?
    • 好吧我改了数据库的名字,最后还是要写quey。仅供参考,我并不总是构建应用程序;第一次尝试部署到我们自己服务器上的生产站点。我的连接字符串现在看起来像这样:我现在收到此错误 (:.
    猜你喜欢
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多