web.config connectionStrings[通俗易懂]

web.config connectionStrings[通俗易懂] web.configconnectionStrings数据库连接字符串的解释先来看一下默认的连接SQLServer数据库配置  SqlConnectionStringBuilder实例化时需要使用connectionString。如:SqlConnectionStringBuildbuilder=newSqlConnectionStringBuild(connection

大家好,又见面了,我是你们的朋友全栈君。

 web.config connectionStrings 数据库连接字符串的解释

先来看一下默认的连接SQL Server数据库配置
<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”];
    }
}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lzyzwbn/archive/2009/09/06/4525179.aspx

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143508.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 次世代3A游戏开发将飙至1.5亿美元,游戏时长将更短

    次世代3A游戏开发将飙至1.5亿美元,游戏时长将更短即将翻过的这个世代,是大作的时代,涌现了一大批的大作,譬如《荒野大镖客2》、《GTA5》、《巫师3》等游戏。当然也是预算高涨、不断跳票和开发商经常加班加点的时代。随着PS5和XSX即将到来,随之一起的将是有史以来细节最丰富和预算更贵的游戏世界,问题就出现了:游戏行业还会继续痴迷于这么庞大世界的游戏吗?在GameBabLive会议上,SIE前总裁ShawnLayden表达了对次世代游戏开发成本倍增的担忧。他认为次世代3A游戏的开发将不可避免地从今天的8000万美元飙升至1.5亿美元。因此Lay

  • 汇编指令大全

    汇编指令大全80×86指令系统,指令按功能可分为以下七个部分。(1)数据传送指令。(2)算术运算指令。(3)逻辑运算指令。(4)串操作指令。(5)控制转移指令。(6)处理器控制指令。(7

  • java中的getClass()方法的用法

    java中的getClass()方法的用法getClass的定义以及使用方法getClass()的作用getClass()使用方式简单代码演示其他相关用法1.getName()和getCanonicalName()2.getDeclaredMethod()3.还有很多对class对象进行操作的方法getClass()的作用getClass()返回此Object的运行时该对象的类.该方法返回一个Class对象,可以通过该对象可…

  • 10款sublime插件推荐

    10款sublime插件推荐1. PackageControl作为安装SublimeText插件的必备利器,PackageControl是这款编辑器的标配,可以方便开发人员快速安装需要的插件。2. Git在工作中,版本控制软件最常用的软件之一,而最流行的VCS是 Git。你是否厌倦了保存文本文件,并切换回终端运行一些Git命令。如果你能从文本编辑器本身执行Git命令

  • deep learning with pytorch中文版_pytorch distributed

    deep learning with pytorch中文版_pytorch distributed憨批的语义分割重制版9——Pytorch搭建自己的DeeplabV3+语义分割平台注意事项学习前言什么是DeeplabV3+模型代码下载DeeplabV3+实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的DeeplabV3+模型一、数据集的准备二、数据集的处理三、开始网络训练四、训练结果预测注意事项这是重新构建了的DeeplabV3+语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加

  • 什么是robots.txt文件

    什么是robots.txt文件一、什么是robots文件Robots.txt文件是网站跟爬虫间的协议,对于专业SEO并不陌生,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。如您的网站未设置robots协议,搜索引擎对网.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号