读取注册表根据Office版本获取数据库连接字段实用指南

作者:袖梨 2026-08-31

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“读取注册表根据Office版本获取数据库连接字段”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。


/// <summary>
/// 读取注册表,根据Office版本获取数据库连接字段
/// </summary>
/// <returns>数据库连接字段</returns>
private string GetConnectionString()
{
  string strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = ";
 
  RegistryKey rk = Registry.LocalMachine;
  //查询Office2003
  RegistryKey f03 = rk.OpenSubKey(@"SOFTWAREMicrosoftOffice11.0AccessInstallRoot");
  //查询Office2007
  RegistryKey f07 = rk.OpenSubKey(@"SOFTWAREMicrosoftOffice12.0AccessInstallRoot");
  //查询Office2010
  RegistryKey f10 = rk.OpenSubKey(@"SOFTWAREMicrosoftOffice14.0AccessInstallRoot");
 
  if (f03 != null)
  {
    strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = ";
  }
  else if (f07 != null || f10 != null)
  {
    strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = ";
  }
 
  return strConnectionString;
}

相关文章

精彩推荐