从excel 2003 将数据插入到sql 2000中

从excel 2003 将数据插入到sql 2000中

insert into tb_local (kh, met, bc, dy, cb, bz, yc, gh, time)
select '99', cast(bh as bigint), cm, dy, rq, 7, 0,1,'2013-4-3 13:45' from openrowset('MicroSoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=yes;IMEX=1;Database=D:insertJs.xls', [Sheet1$])

Oledb导入Excel 找不到可安装的isam错误

 

开发环境: vs2008 +sp1 ,c#2.0 ,Window7 X64

 其中测试了2台windows7的机器,X64 和X86的系统.都完美通过.一台windows2003系统,安装有.net3.5和.net4.0,也通过.其实是开发时候的测试机器

拿到测试人员机器上运行,开启软件连接Access数据库无问题.导入Excel时候报错 : 找不到可安装的isam错误

网络上查找:  说是连接字符串有问题 修改后字符串为:

                string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filepath + "';Extended Properties ="Excel 8.0;HDR=NO;IMEX=1;""

HDR=NO 即无字段   /*  HDR=YES; 表示 带有表头,第一行作为字段名.  IMEX=1 表示 把非字符型表格内容作为string来读取 */             

HDR=yes 即有字段,一般默认excel表中第1行的列标题为字段名,如姓名、年龄等
 
IMEX 表示是否强制转换为文本
顺便学习了一把...
可惜去那台windows Xp sp3 机器上依然报同错误.. 现在怀疑是那台机器真的没有 isam驱动,可是mdac无法安装,明天试图重新安装mdac看看....


--- 查找资料,发现 一段命令,注册后,客户机器运行正确..
客户机: Windows XP sp3  ,本身安装有office2007 , 可能是经过优化的精简版..
        regsvr32 MSXBDE40.DLL
        regsvr32 MSEXCL40.DLL
        regsvr32 MSTEXT40.DLL

 再次运行软件,就不报 "找不到可安装的isam错误" 了,到此问题全部解决.

原文地址:https://www.cnblogs.com/chinaqzh/p/3009393.html