• 在web.config中连接access数据库的最优写法


    ACCESS数据库在.net程序中相对路径的问题困扰,搞得每次移动程序都要去修改web.config 
    中数据库连接字符串的数据库路径。

    好多人的web.config中的写法如下:

    <appSettings>
    <add key="OLEDBCONNECTIONSTRING" value="Provider=Microsoft.Jet.OLEDB.4.0;Data 
    Source=E:/web/App_Data/Data.mdb)"></add>
    </appSettings>

    程序中这样写:

    MyConn = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"]); //注释一下:VS2005和VS2003中的ConfigurationSettings写法不一样,具体区别自己查吧

    这样程序运行时经常提示诸如以下的错误:
    'C:/WINDOWS/system32/~/App_Data/Data.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 Data Source=~/App_Data/Data.mdb 
    就算用绝对路径正确,那么移植程序时还要去修改web.config,所以比较麻烦。

    也有在web.config中使用象ASP那样的Server.MapPath取数据库路径的,但web.config不认识Server.MapPath,此方法也行不通。

    后来通过摸索、参考其它程序,总结出如下方法,可以方便的移植程序路径而不必再去修改ACCESS数据库路径。

    我在web.config中的写法如下:

    <appSettings>
    <add key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;data source="/>
    <add key="dbPath" value="~/App_Data/mydata.mdb"/>
    </appSettings>
    程序中的数据访问类中我把"SQLConnString"和"dbPath"取出来连接成一个字符串"CONN_STRING_NON_DTC"
    public static readonly string CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";";

    栋栋
  • 相关阅读:
    javsscript闭包的一种使用场景--沙箱
    toString()方法,与call()方法结合;用来进行数据类型检测
    [学习笔记]数论(二)
    [模板]平面最近点对
    [bzoj1670][Usaco2006 Oct]Building the Moat
    [模板]计算几何(一)
    [日常训练]string
    [bzoj3626][LNOI2014]LCA
    [bzoj2732][HNOI2012]射箭
    [学习笔记]半平面交
  • 原文地址:https://www.cnblogs.com/zhangdongdong/p/3209015.html
Copyright © 2020-2023  润新知