在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
一直使用以下代码从Excel中取数据,速度快方便:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strFileName + ";" + "Extended Properties=Excel 8.0;";
OleDbDataAdapter
ExcelDA = new OleDbDataAdapter("SELECT * FROM [" + strSheet + "$]",
strConn);
DataSet dstExcel = new DataSet();
ExcelDA.Fill(dstExcel, "ExcelInfo");
但这次发布到windows 2008
R2上后却报错。上网查询后得知IIS7会支持一部分32位DLL,但对于与底层绑定较深的组件却不支持。Jet 4.0显示属于后一种组件。微软已经不支持Jet
4.0的升级,所以目前没有,今后也不会再出现Jet 4.0的64位版本。
基于此网上大部分的解决方案是将应用程序池的Enable 32 bit选项设为True(如下图所示)。这种方案的确可以解决问题,但有以下隐患:
1.今后的发展方向肯定是64位,使用这种方式只是临时解决了问题,治标不治本。
2.在我们系统中还用到了Oracle Client, SAP Connector等仍旧需要64位
3.MOSS系统中也可能会用到类似的功能,不可以降到32位
鉴于以上问题,我开始查找替代方案,终于查到也可以使用Microsoft.ACE.OLEDB对Excel进行操作。修改后的脚本如下:
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source="+
strFileName + ";" + "Extended Properties='Excel
12.0;HDR=YES'";
OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT *
FROM [" + strSheet + "$]", strConn);
DataSet dstExcel = new DataSet();
ExcelDA.Fill(dstExcel, "ExcelInfo");
注意'Excel 12.0;HDR=YES'处的单引号不能少。
还需注意需安装64位的2007 Office System Driver: Data Connectivity Components
http://www.microsoft.com/download/en/details.aspx?id=13255
在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法的更多相关文章
- 解决Windows Server2008R2中导入Excel不能使用Jet 4.0
操作系统使用了Windows Server2008R2(Windows Server2008R2是64位系统,同时配置IIS7.0 原读取Excel文件代码为: string strConn = st ...
- Windows Server2008R2中导入Excel
使用Microsoft.ACE.OLEDB对Excel进行操作: string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + & ...
- ssms导入excel数据提示未安装插件的解决方法
今天用ssms导入excel的时候,提示 然后去找了一下解决方案,安装了相对应的插件.但是还是会提示这个问题. 又去找了一下原因,找到一个原因是sqlserver启动的时候是32位的,但是导入需要64 ...
- Excel公式的常见错误值及其解决方法
Excel公式的常见错误值及其解决方法 经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:# N/A!.#VALUE!.#DIV/O!等等,出现这些错误的原因有很多种,如果公式不能计算正确结 ...
- 关于真机调试DDMS中的data文件夹打不开的解决方法
关于真机调试DDMS中的data文件夹打不开的解决方法 今天在开发的时候需要导出程序中的数据库文件查看数据,数据库文件默认就在/data/data/应用包名/databases/数据库名 这个路径下, ...
- Node.js中针对中文的查找和替换无效的解决方法
Node.js中针对中文的查找和替换无效的解决方法. //tags的值: tag,测试,帖子 var pos1 = tags.indexOf("测"); //这里返回-1 ta ...
- SecureCRT中某些命令提示符下按Backspace显示^H的解决方法
SecureCRT中某些命令提示符下按Backspace显示^H的解决方法 安装了Apache Derby数据库服务器之后,使用ij客户端去连接derby服务端,可是在ij中输入命令的时候,每当输入错 ...
- 向SQL Server中导入Excel的数据
1. 手动界面导入Excel数据 同 https://jingyan.baidu.com/article/ce09321b9a0e252bff858ff9.html 首先打开并登陆sql serve ...
- oracle数据库中导入Excel表格中的数据
1.点击[工具]-->[ODBC 导入器],如图: 2.在导入器里选择第一个[来自ODBC的数据],用户名/系统DSN-->填写[Excel Files],输入用户名和密码,点击 [连接] ...
随机推荐
- win8 iis安装及网站发布
win8 iis安装及网站发布 系统:win8 环境:vs2012 一:安装IIS 比较win7的安装来说,多选了几个钩钩,不然会报错,偶就遇到这样的错误. 控制面板->程序和功能->启动 ...
- SPOJ 694 (后缀数组) Distinct Substrings
将所有后缀按照字典序排序后,每新加进来一个后缀,它将产生n - sa[i]个前缀.这里和小罗论文里边有点不太一样. height[i]为和字典序前一个的LCP,所以还要减去,最终累计n - sa[i] ...
- UVa 11134 (区间上的贪心) Fabled Rooks
这道题真是WA得我心力交瘁,好讨厌的感觉啊! 简直木有写题解的心情了 题意: n×n的棋盘里,放置n个车,使得任意两车不同行且不同列,且第i个车必须放在给定的第i个矩形范围内.输出一种方案,即每个车的 ...
- Asp.Net使用代理IP远程获取数据
/// <summary> /// 远程获取数据 /// </summary> /// <param name="url">url</pa ...
- 关于ios越狱开发的那些事
也许吧,每每接触某些新东西的时候,都有点犯晕吧,这不是应该要的. 第一次接触ios越狱开发,也是这样吧.这篇主要是从无到有的说一下ios越狱的开发,网上很多的教程大部门都比较旧了吧,放在新设备上总是出 ...
- (转)Python 字典排序
我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...
- (六)6.11 Neurons Networks implements of self-taught learning
在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught ...
- mysql在update时,从其他select结果集更新表
需要使用join,例如 select g.id,g.res_count,count(gr.r_id) cnt from mb_game_res gr left join mb_game g on gr ...
- php 二维数组的排序
写这是之前一直二维数组排名困扰.自己写的好复杂. 正题: array_mutisort 官方帮助文档 <?php// 取得列的列表foreach ($data as $key => $ro ...
- 【转】ubuntu下安装eclipse以及配置python编译环境
原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...