我的目的是使用数据表在表中呈现excel数据,这样就打开了一个odbc连接并加载了这样的数据表:
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};Driverid=790;Dbq=C:\Users\*******\Documents\Book1.xlsx;DefaultDir=C:\Users\******\Documents;HDR=YES);
conn.Open();
DataTable dataTable = new DataTable();
string con = "select * from [sheet1$]";
System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(con, conn);
System.Data.Odbc.OdbcDataReader dr = cmd.ExecuteReader();
dataTable.Load(dr);
但是却发现了像这样的错误
错误[IM014] [Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配
实际上,什么是根本原因?
答案 0 :(得分:2)
请使用以下链接作为解决问题的可能方法:
答案 1 :(得分:0)
This建议
"changing the Platform target project setting from Any CPU to x86."
会有所帮助。正如错误所说,根本原因是数据库驱动程序和应用程序之间不匹配。
如果使用64位odbcad32.exe配置或删除DSN 连接到32位驱动程序,例如,驱动程序执行Microsoft Access (* .mdb),您将收到以下错误消息:指定 DSN包含驱动程序和驱动程序之间的体系结构不匹配 应用程序要解决此错误,请使用32位odbcad32.exe 配置或删除DSN。