[转]ASP.NET数据库连接字符串总结
这个不难,而且很重要,但总忘,找了篇比较全的,作为资料。
原文链接http://developer.51cto.com/art/201107/275406.htm
关于数据库链接字符串的相关知识,我们介绍过很多,建议大家看看这两篇文章,《深入了解SQL Server连接字符串》和《MySql连接字符串的说明》,供参考。下面介绍ASP.NET数据库连接字符串总结
一、使用OleDbConnection对象连接OLE DB数据源
1.连接Access 数据库
Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data Source=Access文件路径”
Access 2003: “provider=Microsoft.Jet.Oledb.4.0;Data Source=Access文件路径”
Access 2007: “provider=Microsoft.Ace.Oledb.12.0;Data Source=Access文件路径”
备注:Access数据库只提供两个连接属性provider(数据提供程序)和data source(数据源);
Access2000\2003的文件格式是“.mdb”,,Access2007的文件格式是“.accdb”;
Access的数据提供程序版本是向下兼容的,在Win7下测试使用Microsoft.Jet.OLEDB.3.5提示“未在本地计算机上注册“Microsoft.Jet.OLEDB.3.5”提供程序。”,改用Microsoft.Jet.OLEDB.4.0或者Microsoft.Ace.OLEDB12.0完全可以访问Access2000的数据库文件。当然也可以尝试使用微软提供的MDAC 来修改provider的版本。
Asp.net连接Access数据库相对路径写法
Asp.net连接Access数据库时,通常我们将数据库连接字串写到web.config配置文件中。而连接字串中的数据库路径只能用绝对路径形式表示,这样如果要移动程序,就必须要修改web.config 中数据库连接字符串的数据库路径,很麻烦。如果写成相对路径形式如:~/database/test.mdb 也是不正确的。例如:
<connectionstrings>
<add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=~/database/test.mdb" providername="System.Data.OleDb" />
</connectionstrings>
上面写法是错误的。
目前常见解决方法有2种:
1.1、通过使用 DataDirectory 关键词方法
从Asp.net 2.0 开始有App_Data目录来专门存放数据文件,它可以用来放Access,SQL Server Express、XML等数据文件。可以把Access数据库文件放在App_Data文件夹中,然后使用关键词 DataDirectoty来获取路径。
<connectionstrings>
<add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=|DataDirectory|test.mdb" providername="System.Data.OleDb" />
</connectionstrings>
1.2、在web.config 文件中设置两个字串
在 web.config 文件中设置两个字串,一个是驱动字符串,另一个是 Access 数据库文件的相对路径。使用时用 Server.MapPath() 来获取绝对路径,然后组合出来的连接字符串就可以使用了。
<connectionStrings>
<add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source={0}"
providerName="System.Data.OleDb" />
</connectionStrings>
<appSettings>
<add key="AccessPath" value="~/Database/test.mdb"/>
</appSettings>
后台使用时 代码如下:
private string GetConnStr()
{
string connStr = WebConfigurationManager.ConnectionStrings["Access"].ConnectionString;
connStr = connStr.Replace("{0}", Server.MapPath(WebConfigurationManager.AppSettings["AccessPath"].ToString()));
return connStr;
}
2.连接Excel数据库
Excel 2003: “provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件路径;extended properties=excel 8.0”
Excel 2007: “provider=Microsoft.Ace.OLEDB.12.0;Data Source=Access文件路径;extended properties=excel 12.0”
备注:在代码中引用工作表时,应将表名表示为“[工作表名$]”,遇到字段为数据库保留关键字时,给该字段名加上[]以示区别,如定义select 语句时:string connStr=”select * from [login$] where username=’abc’ and [password]=’abc123’ ”;
如果在数据表中用数字作为文本类型数据时,则应在数字前加单引号将默认的数值强行设定为文本类型。
3.连接SQL Server数据库
- provider=SQLOLEDB;
- Data Source=服务器名;
- Initial Catalog=数据库名;
- uid=用户;
- pwd=密码
二、使用SqlConnection对象连接SQL Server数据库
声明:以下连接的属性都可以参考“SQL Server 数据库连接字符串参数一览表”取它的别名;除了必须设置的属性以外还可以设置其他辅助的属性。如Connect Timeout、Encrypt等
设置数据库文件路径的方法:
1.使用绝对路径:“AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf”
2.使用服务器相对路径:“AttachDbFilename=”+Server.MapPath(“\\App_Data\\data.mdf”)
3.使用最简单的相对路径:“AttachDbFilename=|DataDirectory|\\data.mdf”
推荐使用第3种方式,“|DataDirectory|”代表ASP.NET项目里自动创建的App_Data文件夹
1.以SQL Server验证模式连接SQLServer
(1)以数据库名连接方式
- Server=服务器名;
- Database=数据库名称;
- User ID=用户名;
- Password=密码
或者(使用缩写与别名)
- Server=服务器名;
- Initial Catalog=数据库名称;
- Uid=用户;
- Pwd=密码
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;Password=密码”
示例:
- Server=.\SQLEXPRESS; Database=DatabaseName; User ID =sa; Password=abc123”
- Server=.\SQLEXPRESS; Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123”
- Server=(local)\SQLEXPRESS; AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
- User ID =sa; Password=abc123”
备注:密码可以为空。
2.以Windows 验证模式连接SQL Server
(1)以数据库名连接方式
- Server=服务器名;
- Database=数据库名称;
- Integrated Security=SSPI
(2)以数据库文件完整路径连接方式
“Serve=服务器名;AttachDbFilename=数据库文件路径; Integrated Security=true”
示例:
- Server=服务器名;
- Database=数据库名称;
- Integrated Security=SSPI
- Server=(local)\SQLEXPRESS;
- AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
- Integrated Security=true”
备注:SSPI即为true
三、使用OdbcConnection对象连接ODBC数据源
“Driver=数据库提供程序名;Server=服务器名; Database=数据库名;Trusted_Connection=yes”
示例:
首先要在计算机管理à数据源à配置好相对应的数据源(选择数据库类型,设置数据库文件路径与相对应的数据库名)
- Driver= Microsoft.Jet.OLEDB.4.0;
- Server=.\SQLEXPRESS;
- Database=DatabaseName;
- Trusted_Connection=yes
四、使用OracleConnection对象连接Oracle数据库
- Data Source=Oracle8i;
- Integrated Security=yes
五、在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串
1.在<connectionStrings> 标签里添加连接
- <connectionStrings>
- <add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;Database=DatabaseName;
- User ID=sa;Password=abc123"
- providerName="System.Data.SqlClient" />
- </connectionStrings>
或者
- <connectionStrings>
- <add name="ConnectionName"
- connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;
- Integrated Security=true"
- providerName="System.Data.SqlClient" />
- </connectionStrings>
在程序代码中获取<connectionStrings> 标签里的连接字符串:
引用命名空间:
- Using System.Configuration ;
- string connStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ToString();
2.在<appSettings>标签里添加连接
- <appSettings>
- <add key="ConnectionName"
- value="Server=.\SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" />
- </appSettings>
或者
- <appSettings>
- <add key="ConnectionName"
- value="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=True" />
- </appSettings>
在程序代码中获取<appSettings> 标签里的连接字符串:
引用命名空间:
- Using System.Configuration ;
- string connStr = ConfigurationManager.AppSettings["ConnectionName"].ToString();
原文链接:http://edu.codepub.com/2011/0516/31624.php
[转]ASP.NET数据库连接字符串总结的更多相关文章
- 【转】ASP.NET数据库连接字符串总结
来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...
- ASP.NET数据库连接字符串总结
一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...
- ASP.NET数据库连接字符串的加密与解密
ASP.NET web.config中,数据库连接字符串的加密与解密. 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: ...
- Asp.Net 数据库连接字符串
<configuration> <connectionStrings> <add name="DefaultConnection" providerN ...
- ASP.NET 5 :读写数据库连接字符串
ASP.NET 5 :读写数据库连接字符串 1.概述 ASP.NET 5模板项目配置文件采用了JSON格式,你依然可以采用以前的xml格式.C#对web.config或app.config读写及加密有 ...
- ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法
ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
JavaScript日历控件开发 概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...
- asp.net web.config数据库连接字符串加密与解密
在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或者数据库发生变更,那么我们就不得不修改源程序并重新将其编译.最好的解决方法 ...
- .NET跨平台之旅:数据库连接字符串写法引发的问题
最近在一个ASP.NET Core站点中遇到一个奇怪问题.当用dotnet run命令启动站点后,开始的一段时间请求执行速度超慢,有时要超过20秒,有时甚至超过1分钟,日志中会记录这样的错误: Sys ...
随机推荐
- QT for android 比较完美解决 全屏问题
项目用到QT qml,需要在android下面全屏显示,折腾了一晚上,搞定,分享下,希望能帮助他人. 参考 Qt on Android:让 Qt Widgets 和 Qt Quick 应用全屏显示 该 ...
- nodeJS实战
github代码托管地址: https://github.com/Iwillknow/microblog.git 根据<NodeJS开发指南>实例进行实战{{%并且希望一步步自己能够逐步将 ...
- We Recommend a Singular Value Decomposition
We Recommend a Singular Value Decomposition Introduction The topic of this article, the singular val ...
- 【技术贴】解决Eclipse中SVN图标不显示
在用Eclipse做开发的时候,用到了svn版本控制器,这天当我打开Eclipse的时候,发现项目里面的所有文件前的版本号以及状态图标都不显示了,即所有的svn图标不显示了,这是怎么回事,关掉Ecli ...
- 堆栈中的EIP EBP ESP
EIP,EBP,ESP都是系统的寄存器,里面存的都是些地址. 为什么要说这三个指针,是因为我们系统中栈的实现上离不开他们三个. 我们DC上讲过栈的数据结构,主要有以下特点: 后进先处.(这个强调 ...
- leetcode Triangle及其思考
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- 关于nginx限制IP或IP段的问题2011
关于nginx限制IP或IP段的问题2011-04-08 16:46:39 分类: LINUX 最近有同事问需要在nginx中针对一些IP和IP段限制访问,通过了解以下方法可以解决问题: 首先建立 ...
- centos telnet --xinetd 服务
telnet由于是明文传输,所以安全起见最好不要用telnet服务.但是由于telnet是一个比较方便的远程工具,在windows上是自带 的不需要安装客户端即可使用.如果telnet设置的比较复杂, ...
- 使用tornado让你的请求异步非阻塞
http://www.dongwm.com/archives/shi-yong-tornadorang-ni-de-qing-qiu-yi-bu-fei-zu-sai/?utm_source=tuic ...
- DBSCAN算法
简单的说就是根据一个根据对象的密度不断扩展的过程的算法.一个对象O的密度可以用靠近O的对象数来判断.学习DBSCAN算法,需要弄清楚几个概念: 一:基本概念 1.:对象O的是与O为中心,为半径的空间, ...