Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу получить данные из dbf файла / 8 сообщений из 8, страница 1 из 1
25.09.2011, 18:14
    #37455119
ВЕЗУНЧИК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
Добрый вечер. Есть некоторая проблемка. Кратко опишу ее суть. Вообщем на некотором заводе есть проходная, данные из которой каждое утро выкладываются на Novell Netware сервер в виде DBF файлов. Каждое утро срабатывает планировщик заданий, запускающий vbs скрипт, который осуществляет перекачку данных из dbf файла на oracle сервер. У меня есть профиль на сервере Novell поэтому с моей рабочей машинки все работает отлично. Но стоит задача переноса vbs скрипта выгрузки на сервер win2003. Вот для этого и нужно где то в скрипте указать пользователя и пароль на сервер Novell, для получения данных расположенных на нем dbf файлов! Ниже приведена часть кода, осуществляющая доступ к dbf файлу:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim path_dbf:     path_dbf = "\\Novell\PROHODN\"
    Dim basa_dbf:     basa_dbf = "P110420.DBF"
    Dim cnn:        Set cnn = WScript.CreateObject("ADODB.Connection")
    Dim rst:        Set rst = WScript.CreateObject("ADODB.Recordset")
    cnn.ConnectionString = "DRIVER={Microsoft dBase Driver (*.dbf)};" & "DBQ=" & path_dbf & ";" & "DefaultDir=" & path_dbf & "\"
    cnn.Open
    rst.Open "SELECT * FROM " & basa_dbf, cn
...
Рейтинг: 0 / 0
25.09.2011, 21:33
    #37455238
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
Следует установить Netware-клиент (рекомендую 4.91 SP5 - но не IR2!) и в Default-профиле местоположения указать параметры подключения (дерево, контекст, пользователь). После чего в VBS-скрипте выполнить attach к серверу.
После этого приведённый код будет работать.
Не забудьте отключить кэшированеие на клиенте и оплоки - а то файлы будут биться.
...
Рейтинг: 0 / 0
26.09.2011, 07:27
    #37455406
ВЕЗУНЧИК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
AkinaСледует установить Netware-клиент (рекомендую 4.91 SP5 - но не IR2!) и в Default-профиле местоположения указать параметры подключения (дерево, контекст, пользователь). После чего в VBS-скрипте выполнить attach к серверу.
После этого приведённый код будет работать.
Не забудьте отключить кэшированеие на клиенте и оплоки - а то файлы будут биться.

Клиент это конечно выход,щас вплотную займусь этим вариантом, еще меня больше интересует, как VBS-скрипте выполнить attach к серверу?
...
Рейтинг: 0 / 0
26.09.2011, 11:25
    #37455594
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
Ну вообще (судя по тому, что на сервере даже нет Нетварёвого клиента) сервер вообще не подключался раньше к Нетварёвой сетке... хотя мог использоваться и встроенный шлюз...

Ответ (точнее, оптимальный способ подключения) зависит от того, есть ли логин куда-то на сервер или в дерево или нет, какая собсно версия Нетваре, сервер во рабгруппе, в домене или сам является контроллером... а вообще аутентификация не зависит от того, в какой именно сервис каталога она выполняется.
...
Рейтинг: 0 / 0
27.09.2011, 07:11
    #37456631
ВЕЗУНЧИК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
На виндовом сервере, где будет выполняться задание, есть встроенный клиент для Novell
...
Рейтинг: 0 / 0
27.09.2011, 07:55
    #37456648
ВЕЗУНЧИК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
Логин есть, дерево есть, сервер в домене, контроллером не является!
...
Рейтинг: 0 / 0
27.09.2011, 08:20
    #37456661
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
AkinaПосле чего в VBS-скрипте выполнить attach к серверу.ВЕЗУНЧИКинтересует, как VBS-скрипте выполнить attach к серверу?ВЕЗУНЧИКЛогин есть, дерево есть, сервер в домене, контроллером не является!
Ну так выполните, скажем, любую консольную команду Вин, требующую аутентификации на ресурсе, по отношению к каталогу с таблицей DBF.
...
Рейтинг: 0 / 0
27.09.2011, 22:53
    #37458070
ВЕЗУНЧИК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу получить данные из dbf файла
Всем спасибо, проблему решил подключением сетевого диска!!! Скрипт срабатывает с помощью пользовательского задания, создает сетевой диск и через него коннектится к Novell-скому серверу. Привожу часть кода выше упомянутого скрипта:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
'----------------------------------------------------------------Подключаем сетевой диск Х -------------------------------------
     MapDrv "X:", "\\S10\vol1\USERS\K05\ARXPROX"
'--------------------------------------------------------------------------------------------------------------------------------

'--------------------------------------------------------------------------------начало Функции подключения сетевого диска------
 Function MapDrv(DrvLet, UNCPath)  

     Dim WshNetwork,objFSO          ' Object variable  
     Dim Msg  
  
     Set WshNetwork = WScript.CreateObject("WScript.Network")  
     Set objFSO = CreateObject("Scripting.FileSystemObject")
  
     'On Error Resume Next  
  
     If objFSO.DriveExists(DrvLet) Then  
         WshNetwork.RemoveNetworkDrive DrvLet, true, true
     End If
        
     WshNetwork.MapNetworkDrive DrvLet, UNCPath, False, "02062t", "02062t"  
      
    Select Case Err.Number  
         Case  0             ' No error  #  
         Case - 2147023694   
             WshNetwork.RemoveNetworkDrive DrvLet, true, true
             WshNetwork.MapNetworkDrive DrvLet, UNCPath  
                
         Case - 2147024811   
             WshNetwork.RemoveNetworkDrive DrvLet, true, true  
             WshNetwork.MapNetworkDrive DrvLet, UNCPath  
  
         Case Else  
           
             Msg = "Mapping network drive error: " & _  
                   CStr(Err.Number) & " 0x" & Hex(Err.Number) & vbCrLf & _  
                 "Error description: " & Err.Description & vbCrLf  
           Msg = Msg & "Domain: " & WshNetwork.UserDomain & vbCrLf  
             Msg = Msg & "Computer Name: " & WshNetwork.ComputerName & vbCrLf  
             Msg = Msg & "User Name: " & WshNetwork.UserName & vbCrLf & vbCrLf  
             Msg = Msg & "Device name: " & DrvLet & vbCrLf  
             Msg = Msg & "Map path: " & UNCPath  
               
     End Select  
 End Function     
'--------------------------------------------------------------------------------конец Функции подключения сетевого диска------
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не могу получить данные из dbf файла / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]