You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Classic ASP中带UNC路径的OpenRowSet查询突发权限报错排查

OpenRowSet访问网络CSV文件权限问题排查

我有一个使用OpenRowSet从网络CSV文件获取数据的SQL查询:

select * from openrowset ('Microsoft.ACE.OLEDB.12.0', 'Text;Database=\\1.1.1.1\C$\temp', 'Select * from test.csv')

其中1.1.1.1是Web服务器,2.2.2.2是SQL服务器。

该查询在SSMS中运行正常,此前在Web服务器的Classic ASP环境中也能正常工作,但3天前开始返回错误:

query="select * from openrowset ('Microsoft.ACE.OLEDB.12.0', 'Text;Database=\\1.1.1.1\C$\temp;', 'Select * from test.csv')"
set rs=myCn.execute(query)
 
ERROR: "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "'\\1.1.1.1\C$\temp' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.".

这明显是权限问题。Web服务器访问SQL服务器使用SQL Server身份验证账户,而非Windows身份验证账户。SQL Server服务运行在NT Service\MSSQLSERVER账户下,SQL Server代理运行在NT Service\SQLSERVERAGENT账户下。

据确认,Web服务器和SQL服务器均未做任何更改,某天下午还能正常工作,次日早晨就出现问题——从Web服务器执行该命令时无法访问网络路径,但其他命令均正常。

登录账户kp1已映射到拥有网络完全访问权限的凭据,属于管理员账户,用户kp1也映射到该登录账户。DisallowAdhocAccess已设置为0。

我查阅了相关话题但未解决问题,请问还需排查哪些点?


2023-05-04 更新

将SQL服务运行账户改为所有服务器通用的Windows账户后,问题解决。


内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:02:15