在ASP.NET中设置到SQL SERVER的连接字符串


Answers:


148

您也可以使用它,它更简单。您唯一需要设置的就是“ YourDataBaseName”。

  <connectionStrings>
    <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

连接字符串的放置位置

<?xml version='1.0' encoding='utf-8'?>  
  <configuration>  
    <connectionStrings>  
      <clear />  
      <add name="Name"   
       providerName="System.Data.ProviderName"   
       connectionString="Valid Connection String;" />  
    </connectionStrings>  
  </configuration>  

当我想执行一些查询时,如何在我的C#代码中使用它。
Nikhil Tamhankar 2011年

1
您可以从以下位置查看有关点网中连接字符串的详细信息:connectionstrings.com/sql-server-2008
Vimal bhatt 2012年

4
我想知道有多少人复制并粘贴了该行... :-)我认为这是我第30次访问此问题了……。也许我应该记心学习。
Ayo Adesina

该版本缺少用户名/密码属性。
Burgi 2016年

@Burgi不遗漏它(请参阅Integrated Security=True?),它不是必需的,因为数据库是根据其权限读取文件的,请尝试。这就是我说它更简单的原因,因为您不需要添加它们。如果您无法使用它,请打开数据库并在数据库和文件上设置正确的权限
Aristos

107

由于某种原因,我在这里看不到简单的答案。

将其放在代码的顶部:

using System.Web.Configuration;
using System.Data.SqlClient; 

将其放在Web.Config中:

<connectionStrings >
    <add
         name="myConnectionString" 
         connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

以及要在何处设置连接变量:

SqlConnection con = new SqlConnection(
    WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);

5
WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString在技​​术上可能更正确。
2014年

2
我还需要:using System.Data.SqlClient;
nu everest 2015年

21

我发现很难找到答案,但最终找到了答案。因此,我将编写以下步骤。

  1. 在代码中设置连接字符串之前,请确保您实际上可以访问数据库。显然,首先要使用SSMS(Sql Server Management Studio或其他数据库中的等效数据库)登录本地数据库服务器,以确保您可以使用打算使用的任何详细信息进行访问。

  2. 接下来(如果需要),如果您尝试访问单独服务器上的数据库,请确保可以在SSMS中进行同样的操作。因此,请在计算机上设置SSMS,并确保您可以使用该数据库服务器的用户名和密码访问服务器。

如果您没有正确地使用上述2种方法,则只是在浪费时间,因为您无法访问数据库。这可能是由于您设置的用户错误,未启用远程访问(如果需要)或未打开端口(如果需要)等许多其他原因,但这些是最常见的原因。

一旦确认可以使用SSMS访问数据库。下一步,只是为了使流程自动化并避免错误,是让系统为您完成工作。

  1. 启动一个空项目,将您选择的Linq添加到SQL或数据集(EF很好,但是连接字符串嵌入在EF con字符串中,我想要一个干净的字符串),然后使用上面验证的详细信息连接到数据库con字符串向导。添加任何表并保存文件。

现在进入Web配置,神奇的是,您将在其中看到漂亮的干净的工作连接字符串,其中包含您需要的所有详细信息。


{下面是一个旧文章的一部分,因此您可以忽略它,我将其留作参考,因为它是仅从后面的代码访问数据库的最基本方法。请向下滚动并从下面的第2步继续。}

让我们假设上述步骤以下面的代码作为连接字符串,从以下内容开始:

string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";

这一步非常重要。在执行以下步骤之前,请确保您具有以上格式的连接字符串。确保您实际上可以使用某种形式的sql命令文本访问数据,该命令以标签或文本框等形式显示表中的某些数据,因为这是执行连接字符串的最简单方法。

一旦确定上述样式有效,就可以采取以下步骤:

1.将字符串文字(引号中的内容,包括引号)导出到web.config文件的以下部分(对于多个连接字符串,只需执行多行:

<configuration>
    <connectionStrings>
        <add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
        <add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
        <add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

{以上是旧文章的一部分,在执行了前3个步骤之后,整个过程将为您完成,因此您可以忽略它。我只是把它留在这里供我参考。}


2.现在,将以下代码行添加到后面的C​​#代码中,可能恰好在类定义的下面(即,不在方法内部)。这指向您的项目的根文件夹。本质上,它是项目名称。这通常是web.config文件的位置(在这种情况下,我的项目称为MyProject。

static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");

3.现在,将以下代码行添加到后面的C​​#代码中。这将设置一个字符串常量,如果需要使用不同方法的conString,则可以在代码中的许多地方引用该字符串常量。

const string CONSTRINGNAME = "conString";

4.接下来,将以下代码行添加到后面的C​​#代码中。这将从名称为conString的web.config文件中获取连接字符串(来自上述常量)

ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];

5.最后,您最初在该处将具有类似于以下代码行的内容:

SqlConnection con = new SqlConnection(conString)

您将用以下代码替换它:

SqlConnection con = new SqlConnection(conString.ConnectionString)

完成这5个步骤后,您的代码应该像以前一样工作。阐明您首先以原始格式测试constring的原因,以便知道连接字符串是否有问题或代码是否有问题。

我是C#,ASP.Net和Sql Server的新手。因此,我确信必须有更好的方法来编写此代码。如果可能的话,我也希望获得有关如何改进这些步骤的反馈。我一直在寻找类似的东西,但经过数周的努力,我终于找到了答案。我仍然以自己的眼光来看,肯定有一种更简单的方法。

我希望这是有帮助的。


14

它应该在<configuration>节点内:

  <connectionStrings >
    <add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
  </connectionStrings>

网站上有更多信息:


1
当我想在asp.net 4中执行某些查询时,如何在后面的C#代码中使用它
Nikhil Tamhankar,2011年

7

WebConfig中的连接

将您的连接字符串添加到文件中的<connectionStrings>元素Web.config

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"   providerName="System.Data.SqlClient" />
</connectionStrings>

在ClassC

public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}


3

您还可以使用外部配置文件来指定连接字符串部分,并在应用程序配置文件中引用该文件,如 web.config

就像in web.config文件一样:

<configuration>  
    <connectionStrings configSource="connections.config"/>  
</configuration>  

外部配置connections.config文件将包含“连接”部分

<connectionStrings>  
  <add name="Name"   
   providerName="System.Data.ProviderName"   
   connectionString="Valid Connection String;" />  

</connectionStrings>  

修改外部配置文件的内容不会重启应用程序(默认情况下,ASP.net会对应用程序配置文件进行任何更改)


2

如果要在Web.config中写入连接字符串,请在给定的字符串下写入

<connectionStrings>
  <add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

要么

你像这样在aspx.cs文件中

SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");

2

您可以将其放在web.config文件中connectionStrings

<add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>

2

您可以使用以下格式:

  <connectionStrings>
    <add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
  </connectionStrings>

最有可能的是,在 <appSettings>

试试这个。


1

你可以试试看 很简单

<connectionStrings>         
    <add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>

OP询问“ web.config中的位置”。
史蒂夫·史密斯

0

试试这个作为您的连接字符串。

 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
 User ID=myDomain\myUsername;Password=myPassword;

欢迎使用Stack Overflow!当您发布旧问题的答案时,最好添加一些上下文,以说明为什么您的答案比旧问题更好。否则,有可能在答案列表的底部被忽略。
Monolo 2013年

0

我刚找到!您需要放置此字符串连接并直接指向您的数据库。服务器上的情况相同。

"Provider=Microsoft.ACE.OLEDB.12.0; 
 Data Source=c:/inetpub/wwwroot/TEST/data/data.mdb;"

有用!!:)



-1

<connectionStrings></connectionStrings>在您的web.config内部创建一个名为的节,<configuration></configuration>然后向其中添加不同的连接字符串。

<configuration>

  <connectionStrings>
   <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
  </connectionStrings>

</configuration>

这是所有不同连接字符串格式的列表https://msdn.microsoft.com/zh-cn/library/jj653752(v=vs.110).aspx


“在您的web.config中创建一个名为<connectionStrings> </ connectionStrings>的部分”-在web.config中的何处?
史蒂夫·史密斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.