近期做一个关于使用xp_cmdshell 获取某个目录下所有的文件.
发现如果是访问本地的目录 xp_cmdshell可以直接访问, (c:\aa\), 但如果是访问网络或者其他服务器上的共享文件夹下的文件时,是无法获取的(IP Address\xxx\xx)
解决方案: 如需访问网络上或者其他服务器的共享文件夹时 需要映射磁盘到SQL SERVER
--带用户跟密码 exec master..xp_cmdshell 'net use R: "\\IP address\edi_dev\Excel Report\Out1" /USER:用户名 密码' -- 无需带用户名跟密码 exec master..xp_cmdshell 'net use R: "\\IP Address\edi_dev\Excel Report\Out1"' --删除映射 exec master..xp_cmdshell 'net use R: /delete'