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

Ray*_*Ray 92 asp.net connection connection-string web-config

我正在尝试在我的web.config文件(Visual Studio 2008/ASP.NET 3.5)中将连接字符串设置为本地服务器(SQL Server 2008).

在我的web.config中,我如何以及在何处放置连接字符串?

以下是web.config文件现在的样子:http://imwired.net/aspnet/Online_web.config

Ari*_*tos 144

你也可以使用它,它更简单.您需要设置的唯一内容是"YourDataBaseName".

  <connectionStrings>
    <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

放置连接字符串的位置

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

  • 我想知道有多少人复制并粘贴了那条线...... :-)我认为这是我第30次遇到这个问题......也许我应该只是学习它. (4认同)

Ray*_*zer 105

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

把它放在代码的顶部:

using System.Web.Configuration;
using System.Data.SqlClient; 
Run Code Online (Sandbox Code Playgroud)

把它放在Web.Config中:

<connectionStrings >
    <add
         name="myConnectionString" 
         connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
         providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

以及您要设置连接变量的位置:

SqlConnection con = new SqlConnection(
    WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
Run Code Online (Sandbox Code Playgroud)

  • `WebConfigurationManager.ConnectionStrings ["myConnectionString"].ConnectionString`可能在技术上更正确. (5认同)
  • 我还需要:`使用System.Data.SqlClient;`。 (2认同)

Fra*_*ers 20

我发现这很难得到答案但最终弄明白了.所以我将写下面的步骤.

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

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

如果您没有得到上述2,那么您只是在浪费时间而无法访问数据库.这可能是因为您设置的用户错误,未启用远程访问(如果需要),或者端口未打开(如果需要),还有许多其他原因,但这些是最常见的原因.

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

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

现在进入网络配置,神奇地,你会看到漂亮干净的工作连接字符串,那里有你需要的所有细节.


{以下是旧帖子的一部分,所以你可以忽略这一点,我把它留作参考,因为它是从仅后面的代码访问数据库的最基本方式.请向下滚动,然后从下面的第2步继续.}

让我们假设上面的步骤以下面的代码作为后面代码中的连接字符串开始:

string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
Run Code Online (Sandbox Code Playgroud)

这一步非常重要.在执行以下步骤之前,请确保您具有上述连接字符串格式.确保您实际上可以使用某种形式的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>
Run Code Online (Sandbox Code Playgroud)

{以上是旧帖子的一部分,在完成前3个步骤之后,整个过程将为您完成,因此您可以忽略它.我把它留在这里供我自己参考.}


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

static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
Run Code Online (Sandbox Code Playgroud)

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

const string CONSTRINGNAME = "conString";
Run Code Online (Sandbox Code Playgroud)

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

ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
Run Code Online (Sandbox Code Playgroud)

5.最后,你原来会有类似于这行代码的地方:

SqlConnection con = new SqlConnection(conString)
Run Code Online (Sandbox Code Playgroud)

你将用这行代码替换它:

SqlConnection con = new SqlConnection(conString.ConnectionString)
Run Code Online (Sandbox Code Playgroud)

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

我是C#,ASP.Net和Sql Server的新手.所以我相信必须有更好的方法来执行此代码.如果可能的话,我也会就如何改进这些步骤提出反馈意见.我已经看了很多这样的事情,但经过数周的艰苦努力,我终于弄明白了.我自己看,我仍然认为,必须有一个更简单的方法.

我希望这是有帮助的.


der*_*rek 13

它应该在<configuration>节点内:

  <connectionStrings >
    <add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

这个网站有更多的信息:


小智 5

在标题中

using System.Configuration;
Run Code Online (Sandbox Code Playgroud)

在代码中

SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
Run Code Online (Sandbox Code Playgroud)


sam*_*mir 5

WebConfig中的连接

<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>
Run Code Online (Sandbox Code Playgroud)

在Class.Cs

public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
Run Code Online (Sandbox Code Playgroud)