这个不难,而且很重要,但总忘,找了篇比较全的,作为资料。

原文链接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数据库

  1. provider=SQLOLEDB;
  2. Data Source=服务器名;
  3. Initial Catalog=数据库名;
  4. uid=用户;
  5. 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)以数据库名连接方式

  1. Server=服务器名;
  2. Database=数据库名称;
  3. User ID=用户名;
  4. Password=密码

或者(使用缩写与别名)

  1. Server=服务器名;
  2. Initial Catalog=数据库名称;
  3. Uid=用户;
  4. Pwd=密码

(2)以数据库文件完整路径连接方式

“Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;Password=密码”

示例:

  1. Server=.\SQLEXPRESS; Database=DatabaseName; User ID =sa; Password=abc123”
  2. Server=.\SQLEXPRESS; Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123”
  3. Server=(local)\SQLEXPRESS; AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
  4. User ID =sa; Password=abc123”

备注:密码可以为空。

2.以Windows 验证模式连接SQL Server

(1)以数据库名连接方式

  1. Server=服务器名;
  2. Database=数据库名称;
  3. Integrated Security=SSPI

(2)以数据库文件完整路径连接方式

“Serve=服务器名;AttachDbFilename=数据库文件路径; Integrated Security=true”

示例:

  1. Server=服务器名;
  2. Database=数据库名称;
  3. Integrated Security=SSPI
  4. Server=(local)\SQLEXPRESS;
  5. AttachDbFilename=D:\\Solution1\\Web\\App_Data\\data.mdf;
  6. Integrated Security=true”

备注:SSPI即为true

三、使用OdbcConnection对象连接ODBC数据源

“Driver=数据库提供程序名;Server=服务器名; Database=数据库名;Trusted_Connection=yes”
示例:

首先要在计算机管理à数据源à配置好相对应的数据源(选择数据库类型,设置数据库文件路径与相对应的数据库名)

  1. Driver= Microsoft.Jet.OLEDB.4.0;
  2. Server=.\SQLEXPRESS;
  3. Database=DatabaseName;
  4. Trusted_Connection=yes

四、使用OracleConnection对象连接Oracle数据库

  1. Data Source=Oracle8i;
  2. Integrated Security=yes

五、在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串

1.在<connectionStrings> 标签里添加连接

  1. <connectionStrings>
  2. <add name="ConnectionName" connectionString="Server=.\SQLEXPRESS;Database=DatabaseName;
  3. User ID=sa;Password=abc123"
  4. providerName="System.Data.SqlClient" />
  5. </connectionStrings>

或者

  1. <connectionStrings>
  2. <add name="ConnectionName"
  3. connectionString="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;
  4. Integrated Security=true"
  5. providerName="System.Data.SqlClient" />
  6. </connectionStrings>

在程序代码中获取<connectionStrings> 标签里的连接字符串:

引用命名空间:

  1. Using System.Configuration ;
  2. string connStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ToString();

2.在<appSettings>标签里添加连接

  1. <appSettings>
  2. <add key="ConnectionName"
  3. value="Server=.\SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" />
  4. </appSettings>

或者

  1. <appSettings>
  2. <add key="ConnectionName"
  3. value="Server=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data.mdf;Integrated Security=True" />
  4. </appSettings>

在程序代码中获取<appSettings> 标签里的连接字符串:

引用命名空间:

  1. Using System.Configuration ;
  2. string connStr = ConfigurationManager.AppSettings["ConnectionName"].ToString();

原文链接:http://edu.codepub.com/2011/0516/31624.php

[转]ASP.NET数据库连接字符串总结的更多相关文章

  1. 【转】ASP.NET数据库连接字符串总结

    来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...

  2. ASP.NET数据库连接字符串总结

    一.使用OleDbConnection对象连接OLE DB数据源 1.连接Access 数据库 Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data ...

  3. ASP.NET数据库连接字符串的加密与解密

    ASP.NET web.config中,数据库连接字符串的加密与解密. 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: ...

  4. Asp.Net 数据库连接字符串

    <configuration> <connectionStrings> <add name="DefaultConnection" providerN ...

  5. ASP.NET 5 :读写数据库连接字符串

    ASP.NET 5 :读写数据库连接字符串 1.概述 ASP.NET 5模板项目配置文件采用了JSON格式,你依然可以采用以前的xml格式.C#对web.config或app.config读写及加密有 ...

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

    ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...

  7. JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动

    JavaScript日历控件开发   概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...

  8. asp.net web.config数据库连接字符串加密与解密

    在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或者数据库发生变更,那么我们就不得不修改源程序并重新将其编译.最好的解决方法 ...

  9. .NET跨平台之旅:数据库连接字符串写法引发的问题

    最近在一个ASP.NET Core站点中遇到一个奇怪问题.当用dotnet run命令启动站点后,开始的一段时间请求执行速度超慢,有时要超过20秒,有时甚至超过1分钟,日志中会记录这样的错误: Sys ...

随机推荐

  1. SQLServer调试

    1.普通调试 直接点击SSMS客户端上的调试按钮即可 2.存储过程调试 2.1 定义存储过程(以Northwind数据库为例) USE [Northwind] GO /****** Object: S ...

  2. [设计模式] 5 单例模式 singleton

    转处 http://blog.csdn.net/wuzhekai1985 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径.设计模式中运用了面向对象编程语言的重要特性:封装.继承.多 ...

  3. Web应用中的轻量级消息队列

    Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达mysql,直接导致无数的行锁表锁,甚 ...

  4. uva 10160

    一开始写的代码加上各种剪枝后还是超时, 然后看了一下状态压缩后过了,两个代码的具体思想是一样的,状态压缩后可以大大提升性能 #include <cstdio> #include <c ...

  5. 弱弱的玩下Javascript

    前言 好久没有更新博客了,也蛮少捣弄javascript,今儿看到一个题目,关于给你一个面板,你可以随意的在上面画矩形,可以移动和删除任意一个你创建的矩形,心血来潮搞着玩哈,实现起来挺简单的,但这代码 ...

  6. Java 理论和实践: 了解泛型

    转载自 : http://www.ibm.com/developerworks/cn/java/j-jtp01255.html 表面上看起来,无论语法还是应用的环境(比如容器类),泛型类型(或者泛型) ...

  7. Rsyslog配置

    http://blog.itpub.net/30015039/viewspace-1457009/

  8. lintcode:Compare Strings 比较字符串

    题目: 比较字符串 比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母 样例 给出 A = "ABCD" B = "ACD" ...

  9. SpringMVC学习总结(三)——Controller接口详解(1)

    4.12.ParameterizableViewController 参数化视图控制器,不进行功能处理(即静态视图),根据参数的逻辑视图名直接选择需要展示的视图. <bean name=&quo ...

  10. ibatis框架文件配置

    最近2天在学ibatis,心里也有一些心得,就把它写下来了. 首先是配置一下ibatis的环境,添加ibatis2.X.jar,mysql-connection-bin.5.1.8.jar,建立一个w ...