无法连接到Excel文件作为数据源
我正在做一个旧的(约2004年)ASP.NET 2.0应用程序。 一项function是允许用户通过Excelfile upload数据。 之前做过这些(虽然有了更新的技术),但我觉得这很简单。
我遇到的问题是我无法使用Excel文件作为数据源,无论我使用什么提供程序。
我能够连接到SQL Server数据库就好了。
我遇到的第一个问题是当我试图通过OleDB连接。 每次我尝试连接,我收到一个错误。
我正在运行64位W7,并安装了32位的办公室(无法更改,工作笔记本电脑)。
我尝试的连接string是
Provider=Microsoft.ACE.OLEDB.12.0; DataSource='{0}'; Extended Properties='HDR=YES;' Provider=Microsoft.ACE.OLEDB.12.0; DataSource='{0}'; Extended Properties='Excel 12.0 Xml;HDR=YES;' Provider=Microsoft.ACE.OLEDB.12.0; DataSource='{0}'; Extended Properties='HDR=YES;' Provider=Microsoft.JET.OLEDB.4.0; DataSource='{0}'; Extended Properties='Excel 12.0 Xml;HDR=YES;' Provider=Microsoft.ACE.OLEDB.12.0; DataSource='{0}'; Extended Properties='HDR=YES;' Provider=Microsoft.JET.OLEDB.4.0; DataSource='{0}'; Extended Properties='Excel 12.0 Xml;HDR=YES;'
我收到的错误是
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
我做了一些研究,发现人们试图解决这个问题的几种不同的方式,从下载2007年访问驱动程序,2010年,通过C:\Windows\SysWow64\odbcad32.exe
添加它,并build立在x86模式的应用程序(不'不pipe怎么说,不知道为什么)。 所有这些都导致了相同的错误。
然后我尝试通过ODBC连接以下连接string
Driver={{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}};DBQ='{0}';
然后我得到了一个新的错误,即
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
做了一些研究,我回到了以前的相同的决议。
我注意到的一个有趣的事情是,当我从SysWOW64
文件夹和System32
文件夹运行odbcad32.exe
时,我得到了不同的结果。 当我从x64文件夹运行它时,我在User DSN
下看到了Excel文件和Access数据库。 为了安全起见,我将两者都添加到了System DSN
,并且在Drivers
选项卡下看到他们也在那里。
但是,当我在System32文件夹下运行它时,我像之前一样在“ User DSN
选项卡下看到它们,但我无法configuration它们。 当我尝试时,我得到以下错误:
The setup routines for the Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) ODBC driver could not be found. Please reinstall the driver. Errors Found: The specified DSN contains and architecture mismatch between the Driver and the Application
如果我尝试添加它在System DSN
选项卡下,唯一可用的是
- ODBC驱动程序11 for SQL Server
- SQL Server
- SQL Server Native Client 11.0
并且Excel / Access驱动程序不显示在Drivers
选项卡下,只有那些3。
我还有什么可以尝试? 我也无法使用第三方库。