程序员人生 网站导航

asp.net连接access数据库路径问题

栏目:access时间:2014-05-30 00:19:10

  解决方案一 

  在 WebConfig 中配置 Access 数据库教程驱动和数据库文件名称 
请看代码

<appSettings> 
<add key="DBDriver" value="Provider=MicrosoftJetOLEDB; Data Source ="/> 
<add key="DBName" value="Companymdb"/> 
</appSettings> 

  在数据库访问层如 OleDBHelpercs 中获得 Access 数据库链接字符串

/**//// <summary> 
/// 从WebConfig取得数据库联接字符串 
/// </summary> 
//从配置文件中得到数据库名称 
public static readonly string DBName = ConfigurationManagerAppSettingsGet("DBName")ToString(); 
//从配置文件中得到数据库驱动 
public static readonly string DBDriver = ConfigurationManagerAppSettingsGet("DBDriver")ToString(); 
//得到数据库连接字符串 
private static string DBConnectionString = DBDriver + HttpContextCurrentServerMapPath(HttpContextCurrentRequestApplicationPath + "/App_Data/") + DBName; 
//建立数据库连接对象 
private static OleDbConnection OleDbConn = new OleDbConnection(DBConnectionString); 

  这样设置后无论在任何子目录都能通过以上代码正确的访问数据库

  
解决方案二

<appSettings>
<add key="SQLConnString" value="provider=microsoftjetoledb;data source="/>
<add key="dbPath" value="~/App_Data/mydatamdb"/>
</appSettings>

  程序中的数据访问类中我把"SQLConnString"和"dbPath"取出来连接成一个字符串"CONN_STRING_NON_DTC"

public static readonly string CONN_STRING_NON_DTC = SystemConfigurationConfigurationManagerAppSettings["SQLConnString"]ToString() + SystemWebHttpContextCurrentServerMapPath(ConfigurationManagerAppSettings["dbPath"]) + ";";
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐