ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 来自网址: http://www.jb51.net/article/36905.htm 在ASP.NET开发的网站根目录,有一个名为web.config的文件,顾名思义,这是为整个网站进行配置的文件,其格式为XML格式。
来自网址:
http://www.jb51.net/article/36905.htm

在ASP.NET开发的网站根目录,有一个名为web.config的文件,顾名思义,这是为整个网站进行配置的文件,其格式为XML格式。

这里主要谈谈文件中的<connectionStrings>节。 <connectionStrings>节是对连接到数据库的字符串进行配置,由于MS SQL Server与ASP.NET同属于微软的产品,因此是使用ASP.NET开发时首选的数据库是MS SQL Server,本文只讨论对MS SQL Server的连接字符串情况。
第一种情况,本地开发时,使用本地数据库,如下面的代码
复制代码 代码如下:

<connectionStrings>
    <add name="myConn"
connectionString ="Data Source=(LocalDB) \v11.0;AttachDbFilename=|DataDirectory| \Movies.mdf;Integrated Security=True" providerName ="System.Data.SqlClient" />
</connectionStrings>

讨论:
这是使用PC进行本地开发最常用的数据库连接字符串使用方式。其中,
name属性指的是连接字符串名称,网站中需要使用数 据库时,都需要引用这个连接字符串名称;本例中为myConn;
Data Source属性是数据库服务器,(LocalDB)\V11.0说明使用本地数据库服务器,版本号为11,即SQL Server 2012;
AttachDbFilename属性是指定具体数据为名称及位置,|DataDirectory| 对应ASP.NET网站中的系统目录App_Data,本属性值说明连接到本目录中的名为Movies.mdf数据库,其中,mdf文件名说明该数据库需要SQL Server服务器的服务,但它本身是一个独立的数据库文件,可以进行复制粘贴而不需要在SQL Server管理系统(如SSMS)进行数据库分离工作;
Integrated Security=True" 说明是集成验证,是Windows验证的方式,只要有这个属性及属性值,连接字符串中就不需要用户名及密码;
providerName ="System.Data.SqlClient"为数据提供程序
这种情况是本地开发最常用的情况:可以直接使用ASP.NET创建数据库(扩展名即为.mdf),也可以使用ASP.NET网站配置生成ASPNETDB.MDF数据库,当数据库创建完成后,在ASP.NET界面中创建连接字符串,只需要提供连接字符串的名称,连接字符串的其它属性及属性值可以自动在web.config文件中生成。

第二种情况,本地开发时,使用下面的连接字符串:
复制代码 代码如下:

<connectionStrings>
    <add name="myConn" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>

说明:这里的connectionString属性比第一种情况简单,注意这里的数据库扩展名 .sdf,这是MS SQL Compact版本的数据库,它不需要打开SQL Server的服务即可使用,精致小巧,便于使用,但支持性不如.mdf(这个是MS SQL Server标准版文件格式)。因此,在正常的PC机进行开发时,建议使用.mdf文件,如果在机器上没有MS SQL Server服务运行时,.sdf是一个不错的选择。

第三种情况,本地开发时,使用下面代码:
复制代码 代码如下:

<connectionStrings
<add name="DefaultConnection"
connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-
2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" />
</connectionStrings>

说明:这里的数据库名没有扩展名,说明是由MS SQL Server直接管理的数据库,不是独立的数据库文件(即:如果想复制该数据库,需要在SQL Server管理工具中分离这个数据库)。这种连接往往是使用SQL Server创建数据库,再用ASP.NET创建连接,本地开发时,用的不是很常见。

第四种情况,远程部署时,可以看到下面的代码:
复制代码 代码如下:

<connectionStrings>
    <add name="myConn" connectionString="Data Source=服务器名;Initial Catalog=数据库名;uid=用户Id;pwd=用户密码;"/>
</connectionStrings>

说明:当需要把本地开发完成的ASP.NET网站部署到远程空间(比如租用空间、比如自己的服务器),开始实际提供网站访问服务时,则使用这种连接字符串。如果是租用空间,空间提供商会提供服务器名称,数据库名称,用户名及口令。注意这里没有了Integrated Security=true"属性名及属性值,所以需要用户名与密码。
因此,当在使用连接字符串进行本地开发(往往是本文中第一种方式)完成并测试成功后,需要根据远程服务器的数据,对连接字符串进行修改再上传至远程服务器,才能提供真正的Internet访问。  
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
20天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
27天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
35 4
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
29 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET WEB——项目创建与文件上传操作
ASP.NET WEB——项目创建与文件上传操作
46 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
99 1
|
28天前
|
Oracle Java 关系型数据库
java实现遍历树形菜单方法——数据库表的创建
java实现遍历树形菜单方法——数据库表的创建
11 0
|
29天前
|
NoSQL 关系型数据库 Linux
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!
|
30天前
|
安全 测试技术 API
请描述在 Python WEB 开发中常用的测试方法。
请描述在 Python WEB 开发中常用的测试方法。
16 0