从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
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错误" 了,到此问题全部解决.