zoukankan      html  css  js  c++  java
  • Web.Config文件中数据库连接配置

    对于SQLServerExpress数据库连接配置,以前看到过几次,都是匆匆扫一眼,今天上午在一开源软件中又看到了它,感觉有必要对它有一个清楚的认识,示例如下:
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;User Instance=true" />
    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中的Integrated Security,“Integrated Security”可以写成“trusted_connection”,为true时,使用当前的 Windows 帐户凭据进行身份验证,为false时,需要在连接中指定用户 ID 和密码。

       三、AttachDBFilename
    SqlConnectionStringBuilder的AttachDBFilename属性,对应connectionString中的AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。AttachDbFileName属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的App_Data目录所代替。
    有一篇文章,专门解释DataDirectory是什么。

       四、User Instance
    SqlConnectionStringBuilder的UserInstance属性,对应connectionString中的User Instance ,该值指示是否将连接从默认的 SQL Server Express 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。UserInstance=true,在这种情况下,SQLServerExpress为了把数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。在ASP.NET应用程序中,这个用户是本地的ASPNET帐号或默认的NetworkService,这依赖于操作系统。为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的SQLServer用户实例是必要的。


    附录:

    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" />

  • 相关阅读:
    强化学习的基本迭代方法
    基于文本描述的事务聚类
    学习强化学习之前需要掌握的3种技能
    其它 华硕 ASAU S4100U 系统安装 win10安装 重装系统 Invalid Partition Table 解决
    数据分析 一些基本的知识
    Python 取样式的内容 合并多个文件的样式 自定义样式
    电商 Python 生成补单公司需要的评论格式3
    SpringBlade 本地图片上传 生成缩略图
    SQL Server 字符串截取
    SpringBlade 本地图片上传
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211547.html
Copyright © 2011-2022 走看看