• [转]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(数据源);

    Access20002003的文件格式是“.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

  • 相关阅读:
    【IOS 开发】Object
    互联网开发-前沿与热门
    JS_call_APP native 与 html的交互
    扫描二维码区域限制
    二维码高亮
    charles抓包的使用教程
    Mac 在命令行中获得Root权限
    Mac下安装Wireshark,双击闪退
    iOS 解惑
    IOS_改变UITextField placeHolder颜色、字体
  • 原文地址:https://www.cnblogs.com/chutianshu1981/p/3544073.html
Copyright © 2020-2023  润新知