我能够在SQL Server实例的本地驱动器上成功运行xp_fileexists命令。如果存在文件,则输出为1.如果文件不存在,则输出为0.当我在映射到SQL Server计算机的网络驱动器上运行相同的命令时,输出始终为0. / p>
例如,如果我的文件的网址为“\\ 10.188.20.5 \ myfolder \ myfile.txt”。我会跑
SET @MYFILE = '\\10.188.20.5\myfolder\myfile.txt'
EXEC MASTER.DBO.XP_FILEEXIST @MYFILE, @MYOUTPUT OUT
PRINT @MYOUTPUT
结果将返回0.
如果我在同一个URL上运行批量插入命令,则该文件将成功导入
BULK INSERT #mytable
FROM '\\10.188.20.5\myfolder\myfile.txt'
是什么导致xp_fileexists在网络驱动器上出现故障?
答案 0 :(得分:2)
这取决于服务的凭据 通常是本地系统,没有网络访问
答案 1 :(得分:1)
问题原来是用于运行SQL Server的管理员帐户密码。密码已更改,但SQL Server继续运行。刚刚发生的'MASTER.DBO.XP_FILEEXIST'由于密码冲突而无效,但其他SQL Server功能确实如此。一旦我更改了与用于运行SQL Server的Admin帐户关联的密码,该功能就会按预期工作。
答案 2 :(得分:-1)
转到>> Sql Server配置管理器>>在左侧面板上转到SQL Server服务>>选择您自己的实例(MyPc \ Sqlexpress)并输入帐户名,用户名和密码。
现在应该可行