web.config中配置数据库(多数据)连接的两种方式

这是我的第一篇文章,既然是第一篇了,那就从最基础的只是说起--web.config中配置数据库连接。

  网上有很多这方面的资料,但发现并没有一篇从头到位很清楚明了说完的,今天就把我的整理写在这里吧。

  在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是在web.config中配置数据库连接代码,然后在程序中调用数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只要修改web.config中的数据库连接代码即可,而不必在修改每一个页面中的数据库连接代码。

在ASP.NET中有两种配置数据库连接代码的方式,它们分别是 appSettings 和 connectionStrings 。在使用 appSettings 和 connectionStrings 配置数据库连接代码时,可分别在 <configuration> 下添加如下代码:

1. appSettings

<appSettings>    <add key="conn1" value="server=服务器名;database=数据库名;uid=用户名;password=密码;"/>   <!--如需配置多个直接添加就好,连接时是通过key获取的-->
    <add key="conn2" value="server=服务器名;database=数据库名;uid=用户名;password=密码;"/>
</appSettings>或者 另外建立一个配置文件,只要在webconfig中引用一下就好,示例<appSettings configSource="App_Data\TestConfig.config"></appSettings>如果库比较少的话直接在本页面配置就好。当连接的库比较多时,建议使用第二种,看起来更清晰不是(个人认为功能上无差别)。

2. connectionStrings

<connectionStrings>    <add name="conn1" connectionString="Dserver=服务器名;database=数据库名;uid=用户名;password=密码" providerName="System.Data.SqlClient" />这里注意一下,AppSettings连接时并不需要写命名空间
   <!--如需配置多个直接添加就好,连接时是通过name获取的-->
    <add name="conn2" connectionString="Dserver=服务器名;database=数据库名;uid=用户名;password=密码" providerName="System.Data.SqlClient" />
</connectionStrings>当然了,既然appSettings可以引用外部,相应connectionStrings也可以,示例<connectionStrings configSource="外部文件路径">

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"] 获取数据库连接代码值。

据说两者通用,但是第二种是asp.net2.0的新特性,建议使用第一种。

其实我一直有个疑问,两个字符串中的UID;PWD;和User ID; Password;是否等价。

根据网上我查到的资料是可以互换通用的。 网上找到了个貌似更详细的解释: 连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.

首先,连接SQL Server使用的命名空间不是"System.Data.OleDb",而是"System.Data.SqlClient".

其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):

"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秒.

时间: 2024-08-05 06:48:45

web.config中配置数据库(多数据)连接的两种方式的相关文章

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

web项目中实现页面跳转的两种方式

<a href="javascript:"></a>跳转在网页本身,URL不改变 <a href="#"></a> 跳转在网页本身,URL 改变 java web项目中实现页面跳转的主要方式有两种:第一种,<% response.sendRedirect("index.jsp");%>第二种<jsp:forward page="index.jsp"/>我做

转 web.config中配置数据库连接的两种方式

在网站开发中,数据库操作是经常要用到的操作,ASP.NET中一般做法是在web.config中配置数据库连接代码,然后在程序中调用数据库连接代码,这样做的好处就是当数据库连接代码需要改变的时候,我们只要修改web.config中的数据库连接代码即可,而不必在修改每一个页面中的数据库连接代码. 在ASP.Net中有两种配置数据库连接代码的方式,它们分别是 appSettings 和 connectionStrings .在使用 appSettings 和 connectionStrings 配置数

web.config中配置Session

配置Session的生命周期 model:设置存储会话状态.包括四个状态,分别为:Off(表示禁用会话状态).Inproc(表示工作进程自身存储会话状态).StateServer(表示将把会话信息存放在一个单独的ASP.NET状态服务中)和SqlServer(表示将把会话信息存放在SQLServer数据库中) StateConnectionString:用于设置ASP.NET应用程序存储远程会话状态的服务器名,默认名为本地. Cookieless:当该参数值设置为True时,表示不使用Cooki

asp.net 多个域名重定向,在web.Config中配置

一个网站有多个域名,但是需要在访问其中某个域名之后跳转到另一域名. Web.config 中配置 </system.webServer> <!--重定向 域名 开始--> <rewrite> <rules> <rule name="a0001 301 Redirect" stopProcessing="true"> <match url=".*" /> <conditi

在Java Web程序中使用监听器可以通过以下两种方法

之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外.在Java Web程序中使用监听器可以通过以下两种方法:通过注解@WebListener来标识一个自定义的监听器:[java] view plain copy@WebListener public class Custom

C语言中存储多个字符串的两种方式

C语言中存储多个字符串的两种方式 方式一    二维字符串数组 声明: char name[4][10] = { "Justinian", "Momo", "Becky", "Bush" }; 在内存中的存储: J u s t i n i a n \0 M o m o \0 \0 \0 \0 \0 \0 B e c k y \0 \0 \0 \0 \0 B u s h \0 \0 \0 \0 \0 \0 这种方式会造成内存空间

membership 在web.config中配置信息

<?xml version="1.0" encoding="utf-8"?><configuration> <configSections> <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.We

c# MVC在WEB.Config中配置MIME

在IIS中,默认没有添加.json格式的MIME,所有无法读取服务器中的.json格式的文件,返回结果404 方式一:在IIS中手动添加MIME 1.点击MIME进入MIME列表 2.添加MIME 3.添加完成后 这样再次访问JSON,就可以正常读取了 其实,这里IIS会修改项目中的Web.config文件 <staticContent> <mimeMap fileExtension=".json" mimeType="text/json" /&g