最近工作上遇到一个问题,就是将EXECL内容导入到MSSQL2008R2数据库时提示出现提示返回了列 '[Microsoft.Jet.OLEDB.4.0]列1' 的截断数据,原长度618,截取长度510。怎么回事呢?后来发现是EXECL其中某列某行内容超过了255个字符。
--EXECL导入MSSQL2008R2数据库脚本
SELECT * into T_T1 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="E:\execl.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...abc$
具体的解决办法:
修改注册表操作系统为win7 64
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel]TypeGuessRows由8改为0。操作系统为win7 32
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]TypeGuessRows由8改为0。
修改完之后,再次测试,成功导入。