解决Windows Server2008R2中导入Excel不能使用Jet 4.0
2016-08-03 14:17
323 查看
操作系统使用了Windows Server2008R2(Windows Server2008R2是64位系统,同时配置IIS7.0
原读取Excel文件代码为:
在Windows Server2003上一切正常,64位服务器上就不正常了,查找资料说,可以把将应用程序池的Enable 32 bit选项设为True,但IIS的稳定性和兼容性不太好。
但是实际操作中改应用池32位为True也不行。
解决方法一:
再查资料使用Microsoft.ACE.OLEDB对Excel进行操作。修改后的脚本如下:
测试后发现,应用程序池的Enable 32 bit选项设为True加上这个链接方式就正常使用了。
解决方法二:
装一个“AccessDatabaseEngine_X64”驱动程序,就不用修改程序池选项,再使用“Microsoft.ACE.OLEDB”链接字符串。
在我的程序中我判断了一下操作系统的位数,来自动切换相应的链接字符串。
原读取Excel文件代码为:
string strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='{0}';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'", FilePath); OleDbDataAdapter ExcelDA = new OleDbDataAdapter(“SELECT * FROM [" + strSheet + "$]“, strConn); DataSet dstExcel = new DataSet(); ExcelDA.Fill(dstExcel, “ExcelInfo”);
在Windows Server2003上一切正常,64位服务器上就不正常了,查找资料说,可以把将应用程序池的Enable 32 bit选项设为True,但IIS的稳定性和兼容性不太好。
但是实际操作中改应用池32位为True也不行。
解决方法一:
再查资料使用Microsoft.ACE.OLEDB对Excel进行操作。修改后的脚本如下:
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES'", FilePath); DataSet dstExcel = new DataSet(); ExcelDA.Fill(dstExcel, “ExcelInfo”); 注意’Excel 12.0;HDR=YES’处的单引号不能少。
测试后发现,应用程序池的Enable 32 bit选项设为True加上这个链接方式就正常使用了。
解决方法二:
装一个“AccessDatabaseEngine_X64”驱动程序,就不用修改程序池选项,再使用“Microsoft.ACE.OLEDB”链接字符串。
在我的程序中我判断了一下操作系统的位数,来自动切换相应的链接字符串。
Environment.Is64BitOperatingSystem
相关文章推荐
- 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
- 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
- 解决Windows Server2008R2中导入Excel不能使用Jet 4.0
- 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
- 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
- 可靠简单的 解决Microsoft.Jet.OLEDB.4.0 不能在64位系统下使用的问题
- 可靠简单的 解决Microsoft.Jet.OLEDB.4.0 不能在64位系统下使用的问题
- 解决64位操作系统 不能使用Microsoft.Jet.OLEDB.4.0
- 报表解决Excel导入数据不能根据显示值将实际值存入数据库的问题
- ThinkPHP 3.2 PHPExcel 导入导出文件 第三方类库不能用问题解决
- WPF 使用 .net framework 4.0 client profile 不能引用system.web 解决方法(UrlEncode,HtmlEncode)
- 使用jexcel导入excel sheet时抛出空指针异常的解决办法
- ThinkPHP 3.2 + PHPExcel 导入导出文件 第三方类库不能用问题解决
- Android Studio该如何导入别人的开源库到自己的项目中并使用库中的控件,网上找过方法但是并不能搞定,希望实际问题 实际解决,拯救我这个傻瓜
- 从EXCEL导入文件时无法将DBNull.Value强制转换为类型。。。,请使用可空类型 问题的解决
- 在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法
- 使用OleDbConnection导入Excel混合数据列数据丢失分析与解决
- IIS oledb jet 4.0 读取excel 时,出现未指定错误 解决方法 !
- 使用POI导入Excel并解决Cannot get a text value from a numeric formula cell
- 在使用 ADO.NET 导出 Excel 文件时,设置 IMEX=1 仍不能导出所有数据的解决办法