当我们在mssqlserver中映射网络驱动器时,会由于各种原因不能成功映射,这样从而导致基于远程映射的操作失败,从而导致整个事务失败。
为此,进行了动态映射netuse的设计:
spb_xx @device out, @ip, @directory
作用:动态映射网络驱动器,即若传入的@device映射不成功,则依次取一个盘符进行映射。
映射成功:返回0,且@device的值为映射成功的盘符
映射失败:返回-1,且@device的值为'!'
说明:@device为盘符,且为out参数,其只取H-Z段,(因C,D,E,F,G会被用于本地盘符,另外放弃对A,B的使用)。若传入 的@device在H-Z之间,则直接用@device映射,若为非H-Z段,则先置@device='M',再进行映射。
若@device映射不成功,(盘符@deviced被占用,则打印出盘符被占用信息;若未被占用,则输出PING @IP的结果),则依次取下一个盘符进行重新映射,若最终所有盘符都映射不成功,则返回-1,且置@device的值为'!'
若映射成功则返回0,且@device的值为映射成功的盘符。
程序流程图如下:
本文介绍了一种在MSSQLServer中动态映射网络驱动器的方法,通过使用动态映射netuse的设计来解决远程映射操作失败的问题。该方法会尝试从指定的设备字母开始映射网络驱动器,如果失败,则继续尝试后续的字母。
4861

被折叠的 条评论
为什么被折叠?



