关于这个问题,在网上找到的资料很少,也没有发现具体解决的方式:

先做一下笔记,等有什么新突破时,在补充:

两种方式为appSettings和connectionStrings

[html] view plaincopy
  1. <configuration>
  2. <appSettings>
  3. <add key="connstr1" value="Data Source=.;Initial Catalog=DBName;Integrated Security=true"/>
  4. <add key="connstr2" value=".........">
  5. </appSettings>
  6. <connectionStrings>
  7. <add name="connstr3" connectionString="........" />
  8. <add name="connstr4" connectionString="......" providerName="System.Data.Sqlclient"
  9. </connectionStrings>
  10. </configuration>

appSettings:

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

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

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

④在后台取值方式用代码:

[html] view plaincopy
  1. string conn=System.Configuration.ConfigurationManager.AppSettings["connstr";]

connectionStrings:

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

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

③在connectionStrings中可以,可以使用providerName.

④在后台代码,取值的方式:

[html] view plaincopy
  1. string conn=System.Configuration.ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

既然connectionStrings是2.0版本出来的,那它肯定比appsettings有好处了:

网上如是说:

① 可将连接字符串加密,使用MS的一个加密工具即可。 
         ② 可直接邦定的数据源控件,而不必写代码读出来再赋值给控件。 
         ③ 可方便的更换数据库平台,如换为Oracle数据库,只需修改providerName

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可写可不写。

我们什么时候用providerName呢?

比如,我们现在要做一个项目,以后会卖个两个企业使用:A和B。这就有不确定因素了,A使用Oracle,B使用SQLserver。

所以,

①数据库:我们需要建两个库,一个用oracle,一个用Sqlserver。

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

③web.config代码:

[html] view plaincopy
  1. <configuration>
  2. <connectionStrings>
  3. <add name="connStr" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=true" providerName="System.Data.SqlClient"/>
  4. </connectionStrings>
  5. </configuration>

④程序代码:进行判断,如果providerName="System.Data.SqlClient"则执行SQLServer的脚本,如果providerName="System.Data.OracleClient"则调用Oracle的数据库脚本。

[html] view plaincopy
  1. public static readonly string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ProviderName;
  2. public static string databaseType = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ProviderName;
  3. public static int ExecuteNonQuery(CommandType commandType, string commandText, params System.Data.OleDb.OleDbParameter[] parm)
  4. {
  5. int num = 0;
  6. if (databaseType == "System.Data.SqlClient")
  7. {
  8. //此处执行Microsoft SQLServer的数据库脚本
  9. }
  10. else if (databaseType == "System.Data.OracleClient")
  11. {
  12. //此处执行Oracle的数据库脚本
  13. }
  14. return num;
  15. }

---》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

数据库连接层的 app.config 中的<add>练级,复制到web.config中   ok

我解决的方式:

数据库连接层的 app.config 中的<add>练级,复制到web.config中

web.config中的连接字符串 ---关于 providerName 特性相关推荐

  1. C# web.config中的连接字符串中关于 providerName 特性

    关于这个问题,在网上找到的资料很少,也没有发现具体解决的方式: 先做一下笔记,等有什么新突破时,在补充: 两种方式为appSettings和connectionStrings <configur ...

  2. web.config 中connectionStrings连接字符串加密、解密问题

    注意:是对虚拟目录下还是物理目录下的文件加密 加密网站中的配置信息,我们不需要写任何代码,也不需要修改任何代码,只需要使用 aspnet_regiis 工具修改配置文件即可.比如我们有下面一个配置文件 ...

  3. ORM读取web.config中的数据库连接字符串

    使用VS2008自带LINQ TO SQL生成的ORM默认连接字符串内置在类中,一旦数据库连接改动需要重新编译ORM. 其实可以通过一个简单的方法实现动态读取. 一.因为要读取WEB配置文件,所以第一 ...

  4. ASP在 Web.config 中创建数据库连接字符串

    在 Web.config 中创建数据库连接串 我们需要在网站的配置文件中增加一些行,以便 Entity Framework 知道如何连接到我们的数据库,双击Web.config 文件. 卷到文件的最后 ...

  5. web.config中connectionStrings数据库连接字符串介绍

    web.config中connectionStrings中connectionString各属性字段的介绍 Application Name 应用程序的名称,如果不提供应用程序名称,默认为" ...

  6. asp.net 2.0 中引用Web.config内的连接字符串的方法

    Web.config内容:<appSettings> //<add   key="SocutDataLink"   value="路径"/&g ...

  7. C# .net web.config配置access连接字符串

    Web.config文件中设置数据库连接字段时如下:  <appSettings> <add key="AccessConnString" value=" ...

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

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

  9. linq to sql中修改连接字符串

    如果在类库中在添加linq to sql并连接完数据库服务器后会自动生成settings.settings文件,app.config文件用于存储连接字符串(图一) 如要修改连接字符串要修改哪个还是要全 ...

最新文章

  1. 蛋白Ramachandran(拉氏图、拉曼图)的绘制和可视化
  2. sql,EXISTS用法
  3. 通过MATLAB读取mnist数据库
  4. Python 运行时常见错误汇总
  5. 悟透delphi 第十章 操作界面与操作逻辑
  6. [精品]CSAPP Bomb Lab 解题报告(一)
  7. java 中linux命令参数说明,java中linux命令参数说明
  8. Physics-based Animation 相关
  9. 【bzoj 3131】[Sdoi2013]淘金
  10. Hi3519av100 uboot代码编译
  11. 简单工厂模式、工厂模式、抽象工厂模式
  12. Javascript中Math常用操作,向上取整、向下取整、四舍五入
  13. 9. 成功解决:Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found
  14. python内置函数之len()方法
  15. 电动车充电软件测试,电动车充电分为哪几个过程
  16. 做期货能不能尽量不止损?
  17. 财务会计英文简历范文
  18. DES和RSA混合加密解密
  19. UG NX 12 基准平面
  20. 多层矩形线圈电感计算公式

热门文章

  1. CODE[VS] 1068 乌龟棋
  2. OpenGL如何将像素点的窗口空间坐标转换为世界坐标?
  3. ue4使用houdini制作FBX破碎动画 houdini游戏工具(二)
  4. mysql config type_请检查DNT.config中的DbType节点数据库类型是否正确例如:SqlServer的访问MYSQL...
  5. 教你利用Python爬虫轻松挣外快
  6. 利用ubint安装Linux到u盘,Ubuntu12.04安装到U盘里
  7. LinkedIn首席科学家:创业公司如何善用数据,加入下一个千亿美元市场?
  8. 高效团队建设和团队领导二
  9. [usaco2010_mar_silver]极品飞车
  10. python 基于pillow模块生成随机图片验证码教程