sql opendatasource需要访问映射网络驱动器上的文件

时间:2017-10-17 11:58:03

标签: sql openrowset

我在网络驱动器上保存了许多不同格式的文件(Excel,Access和CSV),我需要使用opendatasourceopenrowset将数据插入到SQL表中。这些查询仅在文件保存在SQL Server上时才有效。有办法解决这个问题吗?

我在本地计算机和服务器上拥有完全读/写权限的管理员权限。驱动器也映射在服务器上。以下是我收到的查询和错误消息:

SELECT Seq, Label
FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Data Source = "G:\IMA Utilization Reports\\IMAv2k.mdb"' )...BackupLabels

结果:OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”用于链接服务器“(null)”返回消息“'G:\ IMA Utilization Reports \ DB \ IMAv2k.mdb'不是有效路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。“。

SELECT Seq, Label
FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0','Data Source = "\\172.16.0.32\Finance\IMA Utilization Reports\DB\IMAv2k.mdb"' )...BackupLabels; 

结果:OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”链接服务器“(null)”返回消息“Microsoft Access数据库引擎无法打开或写入文件'\ 172.16.0.32 \ Finance \ IMA利用率报告\ DB \ IMAv2k.mdb'。它已由其他用户专门打开,或者您需要获得查看和写入其数据的权限。“。

SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
                'excel 12.0;HDR=yes;imex=1;driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; extended properties=excel 12.0 xml; 
                Database=G:\IMA Utilization Reports\Provider ID Numbers.xlsx', 
                'select * from [Employee ID Numbers$]')

结果:Msg 7399,Level 16,State 1,Line 32 链接服务器“(null)”的OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”报告错误。提供商未提供有关错误的任何信息。 Msg 7303,Level 16,State 1,Line 32 无法为链接服务器“(null)”初始化OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象。

如果有人有答案或者可以将我指向某个地方,我会非常感激。提前谢谢。

0 个答案:

没有答案