1

我的意图是使用数据表在表格中呈现 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 Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

那么实际上什么是根本原因?

4

2 回答 2

2

请使用以下链接作为您的问题的可能解决方案:

错误 [IM014] [Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

于 2013-08-06T09:16:03.460 回答
0

表明

"changing the Platform target project setting from Any CPU to x86."

会有所帮助。正如错误所说,根本原因是数据库驱动程序和您的应用程序之间的不匹配。

这些文档

如果您使用 64 位 odbcad32.exe 配置或删除连接到 32 位驱动程序的 DSN,例如 Driver do Microsoft Access (*.mdb),您将收到以下错误消息:指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配 要解决此错误,请使用 32 位 odbcad32.exe 配置或删除 DSN。

于 2013-08-06T09:13:23.540 回答