求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) 修改为允许状态
------解决方案--------------------
------解决方案--------------------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\";";