今天,我的Team Leader让load一些数据到数据库中去,之前这样的事情我也做过。没有遇到过什么错误,但是今天这个excel让我吃了不少苦头。经过我不懈努力,最终解决了所有问题,顺利完成任务。下面我把我遇到的问题写下来和大家探讨一下。
一、问题提出
这个excel大概1W条数据,数据量不是很大,开始导入也很顺利。不到一分钟就完成了,结果我发现有一列数据全部变成了null,并且其他列的数据格式也不正确。然后我就更改了每个列的数据类型,结果导致数据无法导入。郁闷!
二、问题深化
于是我想到用SQL语句去试一下,用下面的语句执行了一下。
SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;imex=1;Database=\\surrey-test\GS\GS_UNpaid.xls',
'SELECT * FROM [Sheet1$]')
结果出现,OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不包含表 'Sheet1$'。该表可能不存在,或当前用户没有使用该表的权限。OLE DB 错误跟踪[Non-interface error: OLE DB provider does not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0', TableName='Sheet1$']。于是,详细思考了一下。哦,原来我的excel没有放到Server上,放上去