阅读目录

DS01:数据库连接字符串的两种写法

1、连接字符串的两种写法:

<configuration>
   <appSettings>
      <add key="connstr1" value="Data Source=.;Initial Catalog=DBName;Integrated Security=true"/>
      <add key="connstr2" value=".........">
   </appSettings>
   <connectionStrings>
      <add name="connstr3" connectionString="........" />
      <add name="connstr4" connectionString="......" providerName="System.Data.Sqlclient"/>
   </connectionStrings>
</configuration>

如上代码所示:两种方式为<appSettings>和<connectionStrings>。

2、下面对两种写法进行分析:

appSettings:

①它是asp.net1.1的时候用的,在vs2003中用的。

②里面存的相当于键值对的形式,key和value。不仅仅可以存连接字符串,还可以存储一些配置项。

③在appSettings中,不能使用ProviderName="System.Data......."(不过如果你要用也可以,只要写在value里面就可以了,当成值传递过去)。

④在后台取值方式:string conn=System.Configuration.ConfigurationManager.AppSettings["connstr";]

connectionStrings:

①它是asp.net2.0中新增的。

②里面存的也类似于键值对的形式,使用的是name和connectionString,一般就存连接字符串。

③在connectionStrings中可以使用providerName。

④在后台取值的方式:string conn=System.Configuration.ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

3、两种方式的区别:
connectionStrings是2.0版本出来的,它比appsettings多的好处如下:

① 可将连接字符串加密,使用MS的一个加密工具即可。

② 可直接绑定数据源控件,而不必写代码读出来再赋值给控件。

③ 可方便的更换数据库平台,如换为Oracle数据库,只需修改providerName。

4、providerName的作用是什么呢?

我们先看一下providerName的参数值。

①providerName="System.Data.SqlClient"        ----说明使用的是MSSQLServer数据库
②providerName="System.Data.SqlLite"           ----说明使用的是SQLLite数据库
③providerName="System.Data.OracleClient"  ----说明使用的是Oracle数据库
或providerName="System.Data.Oracle.DataAccess.Client"  ----同上
④providerName="System.Data.OleDb"           ----说明使用的是Access数据库

注意:providerName可写可不写。

5、那我们什么时候用providerName呢?

比如,我们现在要做一个项目,以后会卖个两个企业使用:A和B。那么这就有不确定因素了,万一A使用Oracle,而B使用SQL Server呢?所以:

①数据库:我们需要建两个库,一个用Oracle,一个用SQL Server。

②程序:我们一般不去写两个系统让他们使用,我们肯定会去判断他们使用的是什么数据库,然后再在程序里执行什么样的数据库脚本。

③web.config代码如下:

<configuration>
  <connectionStrings>
    <add name="connStr" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=true"  providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

④程序代码如下:
 
现在进行判断,如果providerName="System.Data.SqlClient"则执行SQLServer的脚本,而如果providerName="System.Data.OracleClient"则调用Oracle的数据库脚本,代码如下:
 public static readonly string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
public static string databaseType = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ProviderName;
public static int ExecuteNonQuery(CommandType commandType, string commandText, params System.Data.OleDb.OleDbParameter[] parm)
{
int num = ;
if (databaseType == "System.Data.SqlClient")
{
//此处执行Microsoft SQLServer的数据库脚本
}
else if (databaseType == "System.Data.OracleClient")
{
//此处执行Oracle的数据库脚本
}
return num;
}

回到顶部

DS02:数据库连接字符串的内容

1、背景:我们写一个程序要访问SQL Server数据库就要用到连接字符串,连接字符串告诉程序要连接哪台数据库服务器,哪个实例,哪个数据库,以及数据库登录验证方式是什么等信息。

     这三者是最基本的,所以连接字符串最少由以上三个要素组成,其他的根据不同的情况用到什么添加什么即可。

2、虽然说最简单的数据库连接字符串仅由三个要素组成,但是有很多的写法,我们首先来看最简单的连接字符串书写格式:

@”Data Source=XL-PC; Initial Catalog=DB_Test; UID=Sa; PWD= test”

@”Data Source=XL-PC; Initial Catalog=DB_Test; Integrated Security=true”

3、以上是两个最简单的连接字符串,现在我们来具体分析一下:

(1)DataSource:指定要连接到的数据服务器名称。书写格式一般为“数据服务器名/实例名”。

DataSource也可以用Server,Address,Addr来代替。如果数据库服务器在本地,该项可以直接写“.”或者“(local)”两者都不包括引号。

如果本地安装了多个数据库实例,直接写“.”或者“(local)”会自动连接到较高版本的实例。

本地非EXPRESS版数据库服务器地址于数据库实例名称相同,可以直接写数据库服务器名称;

本地Express版本的数据库实例名一般默认为“计算机名+/SQLEXPRESS”如“XL-PC/SQLEXPRESS”或“(local)/SQLEXPRESS”或“./SQLEXPRESS”;

如果连接的是远程服务器则格式为“IP地址+/实例名”。

Data和Source之间必须有且只有一个空格。除密码外不区分大小写。所有标点符号都是英文标点。

(2)Initial Catalog:指定要连接的数据库名称。

数据规范与DataSource相同,也可以用Database代替。

(3)UID为用户名,PWD为密码,两者分别可以用Userid和Password代替。

(4)Integrated Security:属性设为true表示采用Windows身份验证,不需要指定用户名与密码。

回到顶部

2015年1月19日 13:26:59

by selonsy

web.config连接字符串的一些总结的更多相关文章

  1. web config数据库连接字符串加密

    ASP.NET web.config中,数据库连接字符串的加密与解密 ASP.NET web.config中,数据库连接字符串的加密与解密. 开始--->运行,输入cmd,接着输入以下内容 加密 ...

  2. asp.net web.config数据库连接字符串加密与解密

    在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或者数据库发生变更,那么我们就不得不修改源程序并重新将其编译.最好的解决方法 ...

  3. 加密,解密web.config数据库连接字符串

    "connectionStrings" 路径是web.config所在的工程目录. 1.加密EncryptWebConfig.bat @echo offC:\Windows\Mic ...

  4. web.config数据库连接字符串

    我们在做VB数据库经典实例这本书上的五个小例子和做学生信息管理系统时,都需要通过Vb链接数据库,在众多的链接方式中connectionstring字符串应该是较为简单的一种方式,下面我来详细介绍它的一 ...

  5. web.config中连接字符串的读写和加密解密

    转载:https://www.cnblogs.com/shuai/articles/2248703.html 1.先来看看如何在web.config中写入数据库连接字符串.打开web.config文件 ...

  6. C#中对Web.Config、App.Config字符串加密与解密的方法

    我们平常的项目里面的配置文件通常都是明文形式的存在,现在就是为了项目安全性增强,同时又显得高逼格点, 我们可以采用加密的方式,而我们C#很强大,因为他内置的一些指令方式,很方便而且使用起来还不用解密, ...

  7. ASP.NET web.config中的连接字符串

    在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置. <configuration> <appSettings> <add key=" ...

  8. (译)利用ASP.NET加密和解密Web.config中连接字符串

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

  9. 利用ASP.NET加密和解密Web.config中连接字符串

    摘自:博客园 介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Se ...

随机推荐

  1. 读书笔记:《HTML5开发手册》

    一.HTML5中新的结构元素 1. HTML5初始文件 1.1.doctype 在之前,doctype的声明是这样的: <!DOCTYPE HTML PUBLIC "-//W3C//D ...

  2. Android first --- 页面跳转及数据传递

    页面跳转即数据传递 创建第二个界面Acivity *需要在清单文件中添加配置一个Actuvity标签 标签中如果带有这个子节点,则会在Android中添加一个快捷图标 <intent-filte ...

  3. [转]使用Stopwatch类实现高精度计时

    对一段代码计时同查通常有三种方法.最简单就是用DateTime.Now来进行比较了,不过其精度只有3.3毫秒,可以通过DllImport导入QueryPerformanceFrequency和Quer ...

  4. [转]VB Winsock 控件TCP与UDP连接实例

    [-] 可能的用途 选择通讯协议 协议的设置 确定计算机的名称 TCP 连接初步 接受多个连接请求 UDP 初步 关于 Bind 方法   利用 WinSock 控件可以与远程计算机建立连接,并通过用 ...

  5. linux常用命令汇总

    1. 文件及文件夹操作 1.1 修改文件名 mv abc ab 把文件名abc改为ab. 1.2 删除文件和文件夹 rm abc rm -rf abc 1.3 拷贝文件夹 格式: CP [选项]  源 ...

  6. 2-st学习笔记

    2-ST是一种巧妙的建图模式....其实,主要是将互相限制的条件转化为有向图.实现时,将每个点拆成两点,对应这个点的两种取值,然后求强连通分量.由于每个点只能有一种取值,所以若强连通分量中某一个点拆成 ...

  7. codevs1409 拦截导弹2

    [问题描述]一场战争正在 A 国与 B 国之间如火如荼的展开.B 国凭借其强大的经济实力开发出了无数的远程攻击导弹,B 国的领导人希望,通过这些导弹直接毁灭 A 国的指挥部,从而取得战斗的胜利!当然, ...

  8. 剔除eclipse的configuration目录[转]

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  9. 谈谈javascript中的日期Date对象

    一.日期对象  在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间.  日期对象的创建:  new Date();二.将日期对象转换为字符串  将日期对象转换为字 ...

  10. HTML5 <input>添加多张图片,可点击弹窗放大。限定4张,可删除。

    点击弹窗放大,需要加入插件. <link rel="stylesheet" href="css/photoswipe.css"> <link ...