当前位置: 代码迷 >> Sql Server >> sql 导入局域网access数据出错
  详细解决方案

sql 导入局域网access数据出错

热度:108   发布时间:2016-04-24 08:48:45.0
sql 导入局域网access数据报错
计划用sql 定时从局域网的【\\ssm11\工作文件$\用料明细统计】下面读取xlsx格式文件进行使用。
一直报错,百度后大家反馈excel不稳定,于是利用ACCESS的链接表和EXCEL进行链接后,该从sql读取局域网ACCESS的数据,但是仍然报错,请大家帮助解决。


几个要点说明:
1.原始文件EXCEL的路径是:\\ssm11\工作文件$\用料明细统计\模具用料明细统计汇总表.xlsx  里面的  汇总表
2.和EXCEL建立链接表的ACCESS的路径是:\\ssm11\工作文件$\用料明细统计\用料明细统计导入数据库.accdb  里面的 用料明细_模具
3.把ACCESS放到本地 E:\用料明细统计导入数据库.accdb 报错方式相同。
4.\\ssm11的登录账号:admin 密码:8520
5.xlsx 和 accdb 的账号都是 admin 无密码

报错如下:

----------------------------------------------------------------------------------------------------
select * from OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'\\ssm11\工作文件$\用料明细统计\用料明细统计导入数据库.accdb';'admin';'',用料明细_模具)

链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "Microsoft Access 数据库引擎无法打开文件“\\ssm11\工作文件$\用料明细统计\用料明细统计导入数据库.accdb”或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的权限。"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的数据源对象。

----------------------------------------------------------------------------------------------------
select * from OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Data Source=\\ssm11\工作文件$\用料明细统计\用料明细统计导入数据库.accdb';'User ID=admin';'Password=8520',用料明细_模具)

链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "不是有效的账户名称或密码。"。
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。身份验证失败。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的数据源对象。

----------------------------------------------------------------------------------------------------
SELECT * FROM OpenDataSource(
                              'Microsoft.Jet.OLEDB.4.0',
                              'Data Source=\\ssm11\工作文件$\用料明细统计\模具用料明细统计汇总表.xlsx;User ID=Admin;Password=;Extended properties=Excel 5.0'
                            )...[汇总表$]

链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "Microsoft Jet 数据库引擎打不开文件'\\ssm11\工作文件$\用料明细统计\模具用料明细统计汇总表.xlsx'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。



------解决思路----------------------
\\ssm11服务器的登录权限要在,这在此之前用程序去登录,OPENROWSET函数的第3、4个参数只是文件的用户名和密码,不是os的用户名和密码。
  相关解决方案