2010-11-29 7 views
0

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

myPath="\\Server\SharedFolder\SQL\ 

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

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

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

ответ

1

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

Конечно, для этого вам потребуется специальное членство в группе (администратор, оператор Power, Operator или Server Operator).

+0

Пример: http://www.pinvoke.net/default.aspx/netapi32/NetShareEnum.html – 2010-11-29 13:20:08

+0

Ну Уважаемый Симон, конечно, я буду спасибо за ваш ответ , и я признаю, что я трачу много времени с вашим предложением, но я нигде не заключу. Я использую функцию Public Declare NetShareGetInfo Lib «Netapi32.dll» (ByVal strServerName As Object, ByVal strNetName как объект, ByVal nLevel As Long, ByVal pBuffer As Long) As Long. Но я принимаю следующую ошибку: – 2010-11-29 21:17:43

0

Что-то вроде этого

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 
Смежные вопросы