错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 找不到数据源名称,并且在读取 时未指定默认驱动



下面的代码可以正确读取本地计算机上的dbf文件,但是当部署到Windows Server 2012r2时,它会引发异常:

错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 数据源名称不 找到且未指定默认驱动程序

try
{
    OdbcConnection obdcconn = new OdbcConnection();
    //obdcconn.ConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=" + strTempDirectory + "\;Exclusive=No; NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;";
    obdcconn.ConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=" + strTempDirectory + "\";
    obdcconn.Open();
    System.Data.Odbc.OdbcCommand oCmd = obdcconn.CreateCommand();
    oCmd.CommandText = "SELECT * FROM " + Path.Combine(strTempDirectory, tempFileName); // Specify full path including dbf filename with extension
    AVSNAssignmentDetails = new DataTable();
    AVSNAssignmentDetails.Load(oCmd.ExecuteReader());
    obdcconn.Close();
    ErrorLogger.LogActivity(string.Format("t - Dbf data retrived successfully for file {0} of ClaimNumber: {1}", fileInfo.Name, _strClaimNumber), _strActivityLogFileName);
}
catch (Exception ex)
{
}

我发现服务器上没有安装 odbc 驱动程序,所以我安装了ODBC Driver 13 for SQL Server但仍然收到相同的错误。

当启用应用程序池到 32 位应用程序时,它的工作原理如下: https://www.codeproject.com/Tips/305249/ERROR-IM-Microsoft-ODBC-Driver-Manager-Data-sou