转 web.config中配置数据库连接的两种方式
在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是在web.config中配置数据库连接代码,然后在程序中调用数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只要修改web.config中的数据库连接代码即可,而不必在修改每一个页面中的数据库连接代码。
在ASP.Net中有两种配置数据库连接代码的方式,它们分别是 appSettings 和 connectionStrings 。在使用 appSettings 和 connectionStrings 配置数据库连接代码时,可分别在 <configuration> 下添加如下代码:
1. appSettings
<add key="conn" value="server=服务器名;database=数据库名;uid=用户名;password=密码;"/>
</appSettings>
2. connectionStrings
<add name="conn" connectionString="server=服务器名;database=数据库名;uid=用户名;password=密码" providerName="System.Data.SqlClient" />
</connectionStrings>
appSettings 和 connectionStrings 的区别:(摘自http://www.cnblogs.com/kerry1986/archive/2009/07/08/1518895.html)
(1) appSettings 是在 2003 中常用的,connectionStrings 是在 2005 中常用的;
(2) 使用 connectionStrings 的好处:
第一,可将连接字符串加密,使用MS的一个加密工具即可;
第二,可直接绑定数据源控件,而不必写代码读出来再赋值给控件;
第三,可方便的更换数据库平台,如换为 Oracle 数据库,只需要修改 providerName。
(3) 写在 appSettings 中用 System.Configuration.ConfigurationManager.AppSettings["keyname"] 获取数据库连接代码值;写在 connectionStrings 中用 System.Configuration.ConfigurationManager.ConnectionStrings["name"] 获取数据库连接代码值。
转载:http://www.cnblogs.com/sunzhiyue/archive/2011/06/07/2074696.html
一个很简单的webconfig.xml内配置数据库连接,这也是在网上转载的。自己在做了些笔记。欢迎小学生来关顾,大神就直接忽略吧。
webconfig.xml的配置内容如下:
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
<add name="TESR_DB" connectionString="user id=sa;Data Source=127.1.1.1;password=12345678;Persist Security Info=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
……
</configuration>
Persist Security Info=True;的意识是:是否保密信息,DO在数据库连接成功后是否保存密码信息。True表示保存,False表示不保存。
主要是name="TESR_DB",会被后台对应的ConfigurationManager.ConnectionStrings取到
以上的是SQL SEVER的,Oracle的是<add name="TESR_DB" connectionString="DATA SOURCE=127.1.1.1;PASSWORD=12345678;USER ID=sa" providerName="Oracle.DataAccess.Client" />
测试是否连接代码:
(在后台要引用webconfig.xml的配置信息,需要引入 using System.Configuration;库,才可调用到webconfig.xml的配置信息)
string myvar1 = ConfigurationManager.ConnectionStrings["TESR_DB"].ToString();
SqlConnection conn = new SqlConnection(myvar1);
try
{
conn.Open();
Response.Write("连接成功");
}
catch (Exception ex)
{
Response.Write("连接失败");
}
这里和显然的告诉大家,或许都已经注意到了name="TESR_DB"在后台是被 ConfigurationManager.ConnectionStrings["TESR_DB"].ToString();是一致的。一个项目对应多个数据库什么的或者其他信息,就是利用不同的name来设置。
转载:http://www.3lian.com/edu/2014/05-13/147244.html
C#连接SQL Server数据库代码解析
连接字符串:
<connectionStrings>
<add name="conn" connectionString="user id=sa;Password=;initial catalog=Northwind;Server=YourSQLServer;Connect Timeout=30;" providerName="System.Data.SqlClient" />
</connectionStrings>
--------------------------------------------------------------------------------
参数介绍(注意:参数间用分号分隔):
"user id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".
"password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"user id"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
"initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
"Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
"Connect Timeout=30":连接超时时间为30秒.
注:以上User ID,Password可以大写也可以小写,与大小写无关