【问题标题】:Connection Strings in Web ConfigWeb Config 中的连接字符串
【发布时间】:2016-03-18 02:51:54
【问题描述】:

我需要传递用户名和密码,以便任何用户都可以在数据库上运行存储过程。在我的网络配置中,我将代码设置为此

<appSettings>
  <add key="Connection1" value="server=validserver;database=validdatabase;uID=validuserid;password=validpassword;" />
</appSettings>

在我的 C# 中 - 我首先设置一个等于连接的变量,如下所示:

public const string MainDBConn = "Connection1";

任何时候我想使用这个连接字符串,我都会这样称呼它

RunSQLQuery(MainDBCon, "nameofstoredprocedure");

但是我不断收到这个错误,对我来说这是一个无效的连接字符串,但我的服务器名称、数据库、用户 ID 和密码都是有效的......

初始化字符串的格式不符合从索引 0 开始的规范

我要改变什么,以便在我的语法中使用这个连接字符串来连接到我的服务器实例?

编辑 将我的连接字符串更改为

ConfigurationManager.ConnectionStrings["Connection1"].ConnectionString;

现在产生以下错误:

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。
服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。
(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

编辑 2
我按照@Khazratbek 在他的回答中的建议修改了我的 webconfig 连接,现在我收到了这个错误:

连接超时已过期。尝试使用登录前握手确认时超时时间已过。
这可能是因为登录前握手失败或服务器无法及时响应。
尝试连接到此服务器所花费的持续时间是 - [登录前] 初始化 = 3672;握手=0;

这对我来说很奇怪,因为我将超时设置为 0,如果我理解正确应该将其设置为非超时

CommandTimeout = 0;

【问题讨论】:

  • 字符串 conString = WebConfigurationManager.ConnectionStrings["Connection1"].ConnectionString;
  • 我相信您只是传递 MainDBConn 字符串常量来构建连接,而不是实际的连接字符串,这就是您收到错误的原因。
  • 尝试检查 SQL Server 服务是否正在运行?此错误是因为 SQL 服务未运行或您的服务器名称不正确
  • @Smart - 服务正在我要连接的计算机/服务器上运行。我可以使用我尝试传递的凭据连接到服务器上的 SSMS。

标签: c# asp.net connection-string


【解决方案1】:

首先,在web.config中你要添加not appSettings,下一个:

<connectionStrings>
  <add name="Connection1" connectionString="Server=validserver;uid=validuserid;pwd=validpassword;database=validdatabase"/>
</connectionStrings>

然后在你的页面中:

using System.Web.Configuration;

您的连接字符串将是:

string ConnectionString = WebConfigurationManager.ConnectionStrings["Connection1"].ConnectionString;

【讨论】:

  • 连接字符串属于哪里? (父母是什么)
  • @RuneJeppesen 配置标签
【解决方案2】:

web.config 中的连接字符串通常是这样的:

<connectionStrings>
<add 
name="connectionStringName" 
connectionString="Data Source=serverName;Initial 
Catalog=yourDatabase;Persist Security Info=True;User 
ID=userName;Password=password"
providerName="System.Data.SqlClient"
/>

然后像这样读取连接:

System.Configuration.ConfigurationManager.
ConnectionStrings["connectionStringName"].ConnectionString;

按照以下步骤连接到 SQL 服务器:

1-在visual studio中点击服务器资源管理器,然后点击,会显示添加连接。

2- 输入您的服务器名称和密码,然后单击确定。

3- 转到属性并复制连接字符串。

4- 在此处粘贴复制的连接字符串

connectionString="copied connection string"

【讨论】:

  • 我试过你上面的语法,看看我现在得到的编辑。
  • 转到开始 > 所有程序 > Microsoft SQL Server > 配置工具 > 并单击 SQL Server 配置管理器。然后运行 ​​SQL Server (MSSQLSERVER)
  • 按照您更新的解决方案,我仍然从我的编辑 2 中收到错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多