SQL2005的datetime不能转换成smalldatetime的原因:
是因为日期中有年份超过1900-2079这个范围的。
若将EXECL中的数据用语句
insert into teacher SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:\xls\tec.xls',[tec$])
导入sql2005数据库中提示不能将datetime转换成smalldatetime的时也是这个原因。
只需打开EXECL表,将日期中的年份修改在1900-2079这个范围就可导入了。