日期:2014-05-18  浏览次数:20976 次

求C# Excel导入连接字符串,,高手进,关于64位和32位的问题..........
string conStr=@"Provider=Microsoft.Jet.OLEDB.4.0 ;Extended Properties=Excel 8.0;Data Source =C:\aa\1.xls";
 var con = new System.Data.OleDb.OleDbConnection(conStr);
  if (con.State != ConnectionState.Closed)
  {
  con.Close();
  }
  con.Open();
在32位下是能成功打开的,,
但是
在64位下操作系统中就会报错,"未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序"
求 在64位下面连接字符,,


------解决方案--------------------
64位下没有安装Microsoft.Jet.OLEDB.4.0驱动,你装office了吗,或者到网上下一个64位的装上
------解决方案--------------------
把你的程序从Any CPU改成x86(项目属性-目标平台)。
------解决方案--------------------
http://blog.csdn.net/woaizhoulichao1/article/details/6902339
------解决方案--------------------
Microsoft.Jet.OLEDB.4.0只有32位的
IIS上面应用池中启用32位程序
或者你可以使用Microsoft.ACE.OLEDB.12.0,这个支持64位
------解决方案--------------------
编译为x86
------解决方案--------------------
参照
http://blog.sina.com.cn/s/blog_557194c30100wvit.html

------解决方案--------------------
64位下是连接不上的,可以将编译环境改为32位的

------解决方案--------------------
64位下没有安装Microsoft.Jet.OLEDB.4.0驱动,你装office了吗,或者到网上下一个64位的装上
------解决方案--------------------
(64位操作系统)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序
 
解决方案如下:
 
1、执行cscript.exe %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
 
2、执行%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i
 
3、web服务扩展ASP.NET v2.0.50727 (32-bit) 修改为允许状态


------解决方案--------------------
探讨
电脑上装了office了啊!另外出这种没有其他办法可已么!
1生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86
2.在对应的 IIS 应用程序池中,“设置应用程序池默认属性”/“常规”/"启用32位应用程序",设置为 true。

除了这2种方法没有其他方法了么!

------解决方案--------------------
Microsoft Access Database Engine 2010支持64位
http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=c06b8369-60dd-4b64-a44b-84b371ede16d

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\myFolder\\myOldExcelFile.xls;Extended Properties=\"Excel 12.0;HDR=YES\";";