Форум » [x]Harbour » net use » Ответить

net use

and3081: Чем подключить сетевой диск типа NET USE R: \сет.комп\C: средствами харб ?

Ответов - 16

Dima: NetRedir видимо

and3081: отбой :) FAR меня вел в заблуждение. Пока разбирался с другими проблемами, убрал в PATH c:\windows\system32. Far все равно net use отрабатывает, а вот из программы уже не находит.

Dima: Far вероятно считывает переменные systemroot , winroot , systemdrive и тд и тп , поэтому работает Если поюзать поиск то http://clipper.borda.ru/?1-4-0-00000869-000-10001-0-1378622321 Но к net нужно дорожку прописать


and3081: т.е.будет NetRedir( "R:", "\\комп\диск" ) -> .t. ? Двоеточие нужно или нет ? А запросить, что диск уже занят другим подключением ? Т.е. NetRedir его не переподключит и даст error ? Запрос занятости NetDisk( "R:" ) ? А запрос чем именно- NetRmtname( "R:" ) -> имя ?

Dima: and3081 пишет: Двоеточие нужно или нет ? Поиграйся. Вроде не нужно оно. Я эти функции не использую , поэтому читай help , целый раздел для этого есть.

and3081: подскажите пожалуйста, какой help вы имеете в виду ? В guide 3.2.0 как раз нет.

Dima: тогда смотрим xHarbour Language Reference Guide или пытаемся что то найти в примерах или сырцах включая хиленькую доку вырезка из ctnet.c (Harbour) [pre2] /* * CT3 NET Functions Comments: * * NETCANCEL( <cLocalDevice> ) -> lReleased * Return true if <cLocalDevice> was disconnected. * * NETDISK( cDrive ) -> lSuccess * Return true if <cDrive> is a network drive, otherwise return false if is a local drive. * * NETLOCNAME( cSahredDevice ) -> cLocalDevice * Not implemented yet. * * NETPRINTER() -> lSuccess * Return true if a current local printer seted by SET PRINTER TO was connected to a * network printer. * * NETREDIR( cLocalDevice, cSharedDevice, [ cPassword ], [ lShowError] ) -> lSuccess * Return true if <cLocalDevice> was connected to <cSharedDevice> with <cPassword>, if any. * * NETRMTNAME( cLocalDevice ) -> cSharedName * Return the shared resource name connected to a <cLocalDevice>. * The original parameter <nDevice> in CA-Cl*pper Tools was changed to <cLocalName> in * xHarbour because in Windows Network I didn't find a number table like in MS-DOS. See * CA-T*ols help for more details. * * NETWORK() -> lSuccess * Return true if a PC-LAN/MS-NET or Netware type is active. * * NNETWORK() -> lSuccess * Return true if a Netware type is active. * */ [/pre2]

and3081: А, как раз это я нашел, думал еще что-то пропустил.

Dima: and3081 пишет: Чем подключить сетевой диск типа NET USE R: \сет.комп\C: А собственно для чего и каких целей ? UNC дорожка чем не устраивает ?

and3081: так я организую доступ к общим dbf с сетевых компьютеров про UNC ничего не знаю, только с клиппер перешел, к тому же старого 5,01 UNC path дает какие-то преимущества ? Учитывая, что клиенты не имеют администраторов и вообще никого :)

Andrey: and3081 пишет: Чем подключить сетевой диск типа NET USE R: \сет.комп\C: средствами харб ? А зачем подключать сетевой диск ? Можно же напрямую открывать базы: M->cPathServer := "\\ВашСервер\ВашРесурс\ПапкаПрограммы\" USE (M->cPathServer+"ВашаБаза.dbf")

Sergy: Andrey пишет: А зачем подключать сетевой диск ? Можно же напрямую открывать базы: M->cPathServer := "\\ВашСервер\ВашРесурс\ПапкаПрограммы\" USE (M->cPathServer+"ВашаБаза.dbf") Где-то на этом форуме проходила инфа, что с точки зрения производительности лучше подключить диск, чем использовать UNC пути. Связано это с тем, что (возможно?) Windows проверяет (каждый раз?) доступность такого сетевого ресурса. А в случае подключенного диска - делает это реже, либо вовсе не делает. Чтобы не гадать, можно сделать простейший тест, который будет пару тысяч раз открывать таблицу, читать/писать в нее и закрывать. Потом подсунуть два сетевых ресурса и посмотреть на время исполнения.

Andrey: Sergy пишет: можно сделать простейший тест, который будет пару тысяч раз открывать таблицу, читать/писать в нее и закрывать Это что за прога такая, которая за день "пару тысяч раз" открывает таблицу ? Сетевые проги так не делают. Один раз открыл утром программу, вечером вышел из неё. Я не видел такие программы, которые за день запускают "пару тысяч раз"...

Sergy: Andrey пишет: Это что за прога такая, которая за день "пару тысяч раз" открывает таблицу ? Сетевые проги так не делают. Один раз открыл утром программу, вечером вышел из неё. Я не видел такие программы, которые за день запускают "пару тысяч раз"... Это все нужно лишь для того, чтобы выяснить, в каком случае программа будет работать быстрее: 1) SET DEFAULT TO ("\\server\path\workdir") или 2) RUN("net use n: \\server\path") SET DEFAULT TO ("n:\workdir")

and3081: вопрос удобства надо открыть под сотню БД и индексов есть служебные БД, которые нет смысла держать постоянно открытыми- откр/закр в конкретных операциях в программе есть сервисные режимы, когда все БД закрываются (архивирование, проверки и т.п.), т.е.потом они снова открываются вопрос не только БД- например файлы обновления тоже берутся там же диск открыл один раз и забыл. и закрывать его при выходе не зачем. Через полчаса бух снова захочет в программу.

Vlad04: Я так открываю, как Андрей пишет. M->cPathServer := "\\ВашСервер\ВашРесурс\ПапкаПрограммы\" USE (M->cPathServer+"ВашаБаза.dbf") После обработки документа база закрывается. Так как программа выросла из клиппера, то базы (таблицы) открываются при необходимости и закрываются, когда не используются. Никаких неудобств при этом не возникает.



полная версия страницы