我有一个在64位Windows系统(Windows Server 2012)中运行的ASP.NET MVC应用程序(64位)。
我的Web应用程序需要读取一个mdb数据库,然后创建了下一个代码:
using (var myConnection = new OdbcConnection())
{
try
{
string myConnectionString = @"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + fileNameWithPath + ";Persist Security Info=True";
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
OdbcCommand cmd = myConnection.CreateCommand();
cmd.CommandText = "SELECT * FROM myTable";
OdbcDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
// Load the result into a DataTable
myDataTable = new DataTable();
myDataTable.Load(reader);
}
catch (Exception exception)
{
//nexy exception is caught here: "ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
}
finally
{
myConnection.Close();
}
}
其中fileNameWithPath是mdb文件的路径。
当我执行上面的代码时,该行中有下一个令人讨厌的异常
myConnection.Open(); :
错误[IM002] [Microsoft] [ODBC驱动程序管理器]找不到数据源名称,并且未指定默认驱动程序
我已经检查了服务器,并安装了有关ODBC驱动程序的下一个文件:
文件夹C:\\ Windows \\ System32下的odbcad32.exe文件
文件夹C:\\ Windows \\ SysWOW64下的odbcad32.exe文件
我的问题是:服务器设置正确吗? 我真的安装了64位版本的ODBC吗?
还有更重要的一点:我可以在具有这样配置的x64服务器中运行x64应用程序吗? 否则,还有其他选择吗? 值得一提的是:
我不允许在服务器中安装其他软件
该web应用程序必须是64位
提前致谢。