Как я могу получить физический путь, указав сетевой путь - PullRequest
0 голосов
/ 29 ноября 2010

Что ж, теперь у меня есть проблема, связанная с использованием физических и сетевых путей.
У меня есть сервер SQL на компьютере с сервером, и в качестве клиента используется настольный компьютер.
I 'Я запускаю с моей клиентской машины хранимую процедуру для добавления потоковой базы данных.
Но также перед тем, как запустить эту процедуру, я запускаю другую, которая подготавливает желаемый "путь", эта процедура занимает:

чтобы запустить первую процедуру, мне нужно включить myPath в каждое физическое имя:

myPath="DriveLetter:\Public\WorkFiles\SQL\"

Теперь моя проблема в том, как у меня будет физический путь, который построен на сервере и которыйэто от очень трудно (до невозможного) узнать это?
По сути, мне нужна функция, которая возвращает мне физический путь, реализация которого мне неизвестна.Моя среда разработки vb.net 2010
Кто-нибудь может мне помочь в этом?

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Для этого можно использовать Windows API NetShareEnum , передавая имя сервера в качестве первого параметра с уровнем 2 или 502. Затем вы можете выполнить сопоставление на основе возвращенных путей.

Конечно, для успешного вызова такого типа (администратор, опытный пользователь, оператор печати или оператор сервера) вам потребуется специальное членство в группе.

0 голосов
/ 29 ноября 2010

как то так

    Dim foo As String = "\\DLINK_NAS\Volume_1"
    Dim dirInfo As New IO.DirectoryInfo(foo)

    For Each drv As IO.DriveInfo In My.Computer.FileSystem.Drives
        If drv.IsReady AndAlso dirInfo.Name = drv.VolumeLabel Then
            'match here
        End If
    Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...