Excel中有非法日期,找出来,Excel中删除或改正:select * from openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=f:\student.xls',sheet1$) where isdate(日期字段)=0
我记起来了:select * from openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=f:\student.xls',sheet1$)返回的字段顺序是按字段名排序的,并不是Excel中的ABCD...列顺序。用下面这个能解决问题:insert into 表 select * from openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=f:\student.xls','select * from sheet1$')
我知道你的意思了,谢谢~~ 不过在执行时又出现新问题了 错误提示: 服务器: 消息 7321,级别 16,状态 2,行 2 准备对 OLE DB 提供程序 'MicroSoft.Jet.OleDB.4.0' 执行查询时出错。 [OLE/DB provider returned message: FROM 子句语法错误。] OLE DB 错误跟踪[OLE/DB Provider 'MicroSoft.Jet.OleDB.4.0' ICommandPrepare::Prepare returned 0x80040e14]。
-- [sheet1$] insert into 表 select * from openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=f:\student.xls','select * from [sheet1$]')
where isdate(日期字段)=0
还是直接在excel中改?
2007-2-29
2008-4-312、含非法字符,如全角数字:
2007-1-13、等等
从字符串转换为 datetime 时发生语法错误。
where isdate(日期字段)=0改或删随你
不过在执行时又出现新问题了
错误提示:
服务器: 消息 7321,级别 16,状态 2,行 2
准备对 OLE DB 提供程序 'MicroSoft.Jet.OleDB.4.0' 执行查询时出错。
[OLE/DB provider returned message: FROM 子句语法错误。]
OLE DB 错误跟踪[OLE/DB Provider 'MicroSoft.Jet.OleDB.4.0' ICommandPrepare::Prepare returned 0x80040e14]。
insert into 表 select * from openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=f:\student.xls','select * from [sheet1$]')