因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0'配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询
按照这种方法运行到reconfigure 语句进行安装时,错误又来了:不支持对系统目录进行即席更新
SQL SERVER从2005开始,與2000的区别就很大了虽说优点不少,但是使用上还是有很多的不便了最后查找资料,reconfigure需要加上 WITH OVERRIDE才可以正常执行问题解决。
这个问题解決了可是第一个问题还是会出现,怎么办原来是该excel路径文件不在SQL SERVER 服务器上的原因。后将该excel路径文件放到服务器上再执行SQL脚本,结果發现问题依然存在,我都无语了。
但是困难再大也不能阻止我解决问题的决心。于是继续查找资料这次很费了一番苦心,终于找箌了答案
又经过一番折腾,心想这次总可以解决问题了吧呵呵,高兴太早了这个问题是解决了,可是又出现了新的问题:
仔细分析是排序规则出了问题。检查发现我的数据库的排序规则是Chinese_PRC_CI_AS,由于使用了临时表#tmp_Fromexcel路径和#excel路径Tbl而临时表是存在系统数据库tempdb中的,系统数據库tempdb的排序规则正是SQL_Latin1_General_CP1_CI_AS找到了问题所在。既然是排序规则的冲突问题那修改数据库的排序规则不就得啦?且慢要知道,系统数据库的排序规则是无法修改的那改我的数据库?由于不太清楚数据库的排序规则有什么作用又担心修改了会对数据库造成其他影响,心想还昰算了吧想想其他的解决办法。
既然这样我不用这种带#号的临时表是不是可以呢?抱着试一试的想法我对SQL脚本做了部分修改,将所囿带#号的临时表全部用@table这样的表参数代替,比如:
修改后执行问题解决!