zoukankan      html  css  js  c++  java
  • 在配置文件中使用相对路径连接数据库文件

    在Config文件里面配置数据库连接字符串为相对路径
    一.背景  

        在使用Access数据库文件的时候(也可以是其他的数据库文件,注意此处是“数据库文件”),我们经常无法确定项目安装之后的绝对路径,虽然可以在程序运行的时候通过Application的一些属性取得,但是很多时候还是不方便。


    二.相对路径形式的数据库连接字符串的书写方式,如下:

    <add name="HomeBookConnectionString"
          connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Resources\HomeBook.accdb;Persist Security Info=True"
          providerName="System.Data.OleDb" />

         其中 "|DataDirectory|\Resources\HomeBook.accdb;Persist Security Info=True”则是相对路径的写法,指向[应用程序文件夹]下面的"Resources”文件夹下面的“HomeBook.accdb”数据库文件。
    个人理解:DataDirectory是指向应用程序exe文件所在目录的。
    三.注意事项
       1.使用 DataDirectory 时,目录结构中的结果文件的路径不能高于替代字符串指向的目录。 例如,如果完全展开的"DataDirectory”为 "C:\HomeBook”,则上面的连接字符串有效,因为"Resources\HomeBook.accdb”在"C:\HomeBook"下。但是如果尝试将"DataDirectory”指向为"|DataDirectory|\..\data”则会引发一个ArgumentException异常,因为"data”不在"HomeBook”文件夹下。
       2.DataDirectory 不是 System.Data.OleDb 独占的。 它还可以用于 System.Data.SqlClient和 System.Data.Odbc .NET 数据提供程序。

    懒惰,是一个通病。 努力,必会成为一种习惯。
  • 相关阅读:
    博客园发展,我也来谈谈
    为什么说JavaScript是基于对象的语言?
    Email地址加密JS版
    Flash上传文件(结合asp.net)
    软件测试工程师面试题
    asp.net 创建文件夹时出错:未找到路径“D:\”的一部分。(asp.net 使用 FSO)
    发布一个可用在Blog上的Flash Mp3 Player (也支持flv格式)
    一直没掌握的一个简单的Update语句
    句柄的理解(选摘)
    消息的基本概念
  • 原文地址:https://www.cnblogs.com/encoding/p/1823047.html
Copyright © 2011-2022 走看看