如何确保为应用程序连接了网络驱动器?

CJ7*_*CJ7 5 windows ms-access network-drive

我有一个安装在小型办公环境中的桌面Windows应用程序。

该应用程序使用.MDB数据库文件作为其数据库,该文件存储在网络驱动器上。

配置文件.MDB使用字母驱动器指定服务器上文件的路径:例如。f:\data\db.mdb

应用程序启动时需要访问此数据库文件。启动应用程序时,如何确保网络驱动器已连接且可访问?

有时Windows不会重新连接网络驱动器,并且连接它们的唯一方法是在“我的电脑”中双击它们,即使在映射驱动器时选中了“登录时重新连接”。

解决方案是使用\\machine_name\share代替驱动器号吗?

Han*_*sUp 5

您问:“解决方案是使用 \machine_name\share 而不是驱动器号吗?”

我想,是的,可能是这样。UNC 路径避免了 2 个问题:

  1. 共享未连接到驱动器盘符
  2. 共享已连接,但映射到与您预期不同的驱动器盘符

未知的是应用程序中的任何内容是否会使 MDB 的 UNC 路径变得复杂或完全破坏交易。


Jim*_*ena 5

您应该使用UNC路径,因为并非所有人都会将您的驱动器映射到相同的字母。

确定UNC路径

首先,我将F:\data\db.mdb使用以下一种技术来确定文件在本地计算机上的UNC路径:

基本上,您将了解Windows资源管理器列出网络映射驱动器的方式,然后使用它来推断UNC路径。

使用WMI检查可用性

假设驱动器实际映射在计划使用该应用程序的每台本地计算机上,请使用Win32_MappedLogicalDisk类确定映射的网络驱动器的可用性。

这里有一些示例代码,可以用来确定给定的网络驱动器是否可用(向下滚动至“ 映射的驱动器信息”部分)。您检查.ProviderName以匹配UNC路径,以便知道哪个是正确的驱动器,然后检查的值.Availability以确定是否可以访问映射的网络驱动器。