ASP.NET 链接 Access 数据库路径问题最终解决方案
當做小項目用 ASP.NET + Access 數據庫時,總是遇到數據庫路徑問題,本人以前的解決方法是每次訪問數據庫時,把鏈接字符串以參數的形式傳到數據訪問層,實施起來相當麻煩,這次找到了一個比較好的方案,這是本人目前的最終解決方案(如題) ^_^
解決方案一:
在 Web.Config 中配置 Access 數據庫驅動和數據庫文件名稱。
請看代碼
<appSettings>
<add key="DBDriver" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source ="/>
<add key="DBName" value="Company.mdb"/>
</appSettings>
在數據庫訪問層,如 OleDBHelper.cs 中獲得 Access 數據庫鏈接字符串。
/** <summary>
/// 從Web.Config取得數據庫聯接字符串
/// </summary>
//從配置文件中得到數據庫名稱
public static readonly string DBName = ConfigurationManager.AppSettings.Get("DBName").ToString();
//從配置文件中得到數據庫驅動
public static readonly string DBDriver = ConfigurationManager.AppSettings.Get("DBDriver").ToString();
//得到數據庫連接字符串
private static string DBConnectionString = DBDriver + HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/App_Data/") + DBName;
//建立數據庫連接對象
private static OleDbConnection OleDbConn = new OleDbConnection(DBConnectionString);
這樣設置后,無論在任何子目錄,都能通過以上代碼正確的訪問數據庫。
解決方案二:
<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"]) + ";";
總結
以上是生活随笔為你收集整理的ASP.NET 链接 Access 数据库路径问题最终解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 节能项目的总结
- 下一篇: .NET Framework- 反射特性