web.config connectionStrings 数据库连接字符串的解释(转载)
先来看一下默认的连接SQL Server数据库配置
1.默认生成
<connectionStrings>
<add name="Exa*DB" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=Exa*DB-20150829134149; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|Exa*DB-20150829134149.mdf"
providerName="System.Data.SqlClient" />
</connectionStrings>
2.需要修改后
<connectionStrings>
<add name="Exa*DB" connectionString="Data Source=R****PC; Initial Catalog=Exa88888DB; Integrated Security=False;uid=sa;pwd=88*88; MultipleActiveResultSets=True; "
providerName="System.Data.SqlClient" />
</connectionStrings>
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
SqlConnectionStringBuilder实例化时需要使用connectionString。如:SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString);
一、Data Source
SqlConnectionStringBuilder的DataSource属性,对应 connectionString中的Data Source,“Data Source”可以由下列字符串代替:“Server”,“Address”,“Addr”和“Network Address”。
Data Source=.\SQLExpress也可以写成这样Data Source=(local)\SQLExpress。
二、Integrated Security
SqlConnectionStringBuilder 的 IntegratedSecurity 属性,对应 connectionString 中的I ntegrated Security,“Integrated Security”可以写成“trusted_connection”。
为 True 时,使用当前的 Windows 帐户凭据进行身份验证,为 False 时,需要在连接中指定用户 ID 和密码。可识别的值为 True、False、Yes、No 以及与 True 等效的 SSPI。
如果没有些则必须写上 uid=sa;pwd=123 之类的设置“uid”也可使用“User ID”,“pwd”也可换为“PassWord”。
SSPI:Microsoft安全支持提供器接口(SSPI)是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。
应用程序协议设计者能够利用该接口获得不同的安全性服务而不必修改协议本身。
三、AttachDBFilename
SqlConnectionStringBuilder 的 AttachDBFilename 属性,对应 connectionString 中的 AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。
AttachDbFileName 属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。
这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的 App_Data 目录所代替。
四、User Instance
SqlConnectionStringBuilder 的 UserInstance 属性,对应 connectionString 中的 User Instance ,该值指示是否将连接从默认的 SQL Server 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。
UserInstance=true 时,SQLServerExpress 为了把数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。
在 ASP.NET 应用程序中,这个用户是本地的 ASPNET 帐号或默认的 NetworkService,这依赖于操作系统。
为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的 SQLServer 用户实例是必要的。
五、Initial Catalog 等同于 Database。
六、providerName 指定值“System.Data.OracleClient”,该值指定 ASP.NET 在使用此连接字符串进行连接时应使用 ADO.NET System.Data.OracleClient 提供程序。
PS:
DataDirectory是什么?
asp.net 2.0有一个特殊目录app_data,通常Sql Server 2005 express数据文件就放在这个目录,相应的数据库连接串就是:
connectionString="…… data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instance=true"
这里有一个DataDirectory的宏,它表示什么意义呢?
DataDirectory是表示数据库路径的替换字符串。由于无需对完整路径进行硬编码,DataDirectory 简化了项目的共享和应用程序的部署。例如,无需使用以下连接字符串:
"Data Source= c:\program files\MyApp\app_data\Mydb.mdf"
通过使用|DataDirectory|(包含在如下所示的竖线中),即可具有以下连接字符串:
"Data Source = |DataDirectory|\Mydb.mdf" 。
不仅仅是Sql server 2005 express中使用,也可以在其它的文件数据库中使用,例如Sqllite数据库文件的连接字符串:
<add name="DefaultDB"
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data Source=|DataDirectory|\data.db3" />
--------------------------------------- 附加一些连接语句例子 ---------------------------------------
<--普通例子1-->
<configuration>
<connectionStrings>
<add name="Sales" providerName="System.Data.SqlClient" connectionString="server=myserver;database=Products;uid=salesUser;pwd=sellMoreProducts" />
<add name="NorthWind" providerName="System.Data.SqlClient" connectionString="server=.;database=NorthWind;Integrated Security=SSPI" />
</connectionStrings>
</configuration>
<--普通例子2-->
<configuration>
<connectionStrings>
<add name="NorthWind" connectionString="Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=da;Data Source=bar" />
</configuration>
----------------------------------------------------------------------------------------------------------
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=NorthWind;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
<--也可写为-->
<connectionStrings>
<add name="LocalSqlServer" connectionString="Server=.\SQLExpress;Database=NorthWind;Integrated Security=Yes" providerName="System.Data.SqlClient" />
</connectionStrings>
----------------------------------------------------------------------------------------------------------
<configuration>
<connectionStrings>
<add name="DB2005_2"
providerName="System.Data.SqlClient"
connectionString="Data Source=.;Initial Catalog=Northwind;User ID=dbtester;Password=zhi;Trusted_Connection=False;Connect Timeout=30;Min Pool Size=16;Max Pool Size=100"/>
<add name="DB2005_1"
providerName="System.Data.SqlClient"
connectionString="Server=.;Database=Northwind;User ID=dbtester;Password=zhi;Trusted_Connection=False;Connect Timeout=30;Min Pool Size=16;Max Pool Size=100"/>
<add name="Northword2000"
providerName="System.Data.SqlClient"
connectionString="Initial Catalog=Northwind;User ID=dbtester;PassWord=zhi;Persist Security Info=false;Data Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool Size=100;"/>
<add name="SQLExp"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"/>
<add name="Oracle"
connectionString="Data Source=TEST;User ID=sa;Password=sa;"
providerName="System.Data.OracleClient" />
<add name="oleconn"
providerName="System.Data.OleDb"
connectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|northwind.mdb"/>
<add name="MySql"
providerName="MySql.Data.MySqlClient"
connectionString="Server=172.29.131.27;Port=3311;DataBase=comctl;Persist Security Info=False;User ID=root;Password=123456;Allow Zero Datetime=true;" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.2.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data>
</configuration>
====================================== 可以保存为(以下转自他处).cs ======================================
using System.Data.SqlClient;
using System.Configuration;
public class Class1
{
public Class1()
{
//Persist Security Info如果数据库连接成功后不再需要连接的密码,建议False
//string sql2000 = "Initial Catalog=Northwind;User ID=dbtester;PassWord=zhi;Persist Security Info=false;Data Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool Size=100;";
//string sql2000 = "Initial Catalog=Northwind;User ID=sa;PassWord=5;Persist Security Info=false;Data Source=.";
//string sql2000 = "Initial Catalog=Northwind;User ID=sa;PassWord=5;Persist Security Info=false;Data Source=newtime";
string source = "server=(local);integrated security=SSPI;database=Northwind";
string expressSource = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
//Integrated Security采用windows的集成身份验证,integraged Security=SSPI;
//Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错
//表示你的连接安全验证方式,可用trusted_connection=yes取代
//Integrated Security 为 True。用户实例仅与集成安全性一起使用,带有用户名和密码的 SQL Server 用户不起作用。
//string source3 = @"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog= pubs;UserID=sa;Password=asdasd;";
//(DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the Data Source is the port to use (1433 is the default))
//Standard Security:
string source4 = "Data Source=Aron1;Initial Catalog= pubs;UserId=sa;Password=asdasd;";
string source5 = "Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False";
//Trusted_Connection 'false' 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。
//可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。所以一定要设置Trusted_Connection= false,以防被别人"登录"、"注入语句"等
string source6 = "Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;";
string source7 = "Server=Aron1;Database=pubs;Trusted_Connection=True;";
//(use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)
//Integrated Security或Trusted_Connection 'false' 当为 false 时,
//将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证
//VS2003:string connStr=System.Configuration.ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"];2003中用的
//VS2005:string connStr=System.Configuration.ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ToString(); 2005-8中用
System.Configuration.ConnectionStringSettings i = System.Configuration.ConfigurationManager.ConnectionStrings["Northword2000"];
}
}
web.config connectionStrings 数据库连接字符串的解释(转载)的更多相关文章
- web.config connectionStrings 数据库连接字符串的解释
先来看一下默认的连接SQL Server数据库配置<connectionStrings> <add name="LocalSqlServer" connect ...
- ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法
ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...
- web.config的数据库连接字符串进行加密
连接参考:http://wenku.baidu.com/link?url=nwGug8wxz143A4pvBE_kN6vMU7aF3ojwCKJOyN-TQleZ07iAYrjx_FnFVDOtZAF ...
- 创建自己的RSA密钥来保护web.config 加密数据库连接字符串
通过创建自己的RSA密钥来保护web.config1创建RSA密钥:C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis - ...
- 不同数据库下的web.config中数据库连接字符串
<connectionStrings> <add name="OADBConnectionString" connectionString="Data ...
- 【转载】两个Web.config中连接字符串中特殊字符解决方案
userid = test password = aps'"; 那么连接字符串的写法为: Provider=SQLOLEDB.1;Password="aps'"&quo ...
- Web.config配置数据库连接
web.config配置数据库连接 第一种:取连接字符串 string connString = System.Web.Configuration.WebConfigurationManager. ...
- web.config中连接字符串的读写和加密解密
转载:https://www.cnblogs.com/shuai/articles/2248703.html 1.先来看看如何在web.config中写入数据库连接字符串.打开web.config文件 ...
- (译)利用ASP.NET加密和解密Web.config中连接字符串
介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...
随机推荐
- 【代码笔记】iOS-饼图
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @class QuizChartView; @interf ...
- NSoperation线程通信
全局变量 @property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (nonatomic, strong) NSOp ...
- Android中过场动画
overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_left); 第一参数为进入的动画 第二参数为退出的动画 进入的动画 ...
- 从DACPAC文件中读取元数据
SQL数据库项目生成时会生成dacpac文件,可从中读出所需的元数据,进行一些转换(如生成数据字典) var model = new TSqlModel(@"D:\kljob\CardL ...
- 振奋人心啊!!!!下一代.NET——ASP.NET vNext
这两天看到的.NET的新闻都好振奋人心啊!微软北美技术大会带来了好多好消息! 看到一篇博客园的文章,感觉太棒了.摘录下来.原文链接:http://news.cnblogs.com/n/208133/ ...
- 转载文章----IL反编译利器——Ildasm.exe和Reflector.exe:
转载地址:http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662546.html 一:Ildasm.exe简介 这一微软VS自带工具, ...
- 测试驱动开发(Test-Driven Development,简称TDD)--单元测试-->提高代码质量
!!! 1.估算和做项目计划时要算上单元测试时间 2.开发之前写单元测试代码 盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的.TDD就像这样,先写 ...
- Go语言异步服务器框架原理和实现
Go语言类库中,有两个官方的服务器框架,一个HTTP,一个是RPC.使用这个两个框架,已经能解决大部分的问题,但是,也有一些需求,这些框架是不够的,这篇文章,我们先分析一下HTTP 和 RPC服务器的 ...
- mysql set names 命令和 mysql 字符编码问题
先看下面的执行结果: (root@localhost)[(none)]mysql>show variables like 'character%'; +--------------------- ...
- 用字符串模拟两个大数相加——java实现
问题: 大数相加不能直接使用基本的int类型,因为int可以表示的整数有限,不能满足大数的要求.可以使用字符串来表示大数,模拟大数相加的过程. 思路: 1.反转两个字符串,便于从低位到高位相加和最高位 ...