On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 2932
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 20:38. Заголовок: Как прицепится к ADS по сети ?


Есть ADS 10.10 в настройках у него стоит порт 6262

Вот таким исходником пытаюсь к нему подрубиться.
 
#include "ads.ch"
proc main
REQUEST ADS
rddSetDefault( "ADSCDX" )
SET SERVER REMOTE
SET CHARTYPE TO OEM
? AdsConnect("MYSERVER") // .f.
? AdsConnect("//127.0.0.1/:6262") // .f.
return


ADS.INI в папке с прогой
 
[MYSERVER]
LAN_IP=127.0.0.1
LAN_PORT=6262


Где мой косяк ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 257 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [только новые]


постоянный участник


Пост N: 865
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.04.13 20:57. Заголовок: Может так: AdsConnec..


Может так: AdsConnect("//127.0.0.1:6262") ?
И, эта, 127.0.0.1 - это локальный компьютер. АДС на нем же запущен?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2933
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 20:59. Заголовок: Dima пишет: 127.0.0..


Dima пишет:

 цитата:
127.0.0.1


С таким адресом похоже он не пашет. Разобрался. Задал реальный адрес и заработало.
А как мне правильно открыть базу которая лежит в C:\TEST\DBF\KARTA.DBF по IP и порту заданному
в ADS.INI ?
Может чего надо прописать в ADS.INI....

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2934
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 20:59. Заголовок: PSP пишет: АДС на н..


PSP пишет:

 цитата:
АДС на нем же запущен?


Да

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2935
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 21:01. Заголовок: PSP пишет: Может та..


PSP пишет:

 цитата:
Может так: AdsConnect("//127.0.0.1:6262") ?


Точно. Так работает. Спасибо. Глазик замылился ;)
А как базу открыть ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 866
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 04.04.13 21:02. Заголовок: Дим, я с АДС не рабо..


Дим, я с АДС не работал. Сорри...

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2827
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.04.13 21:15. Заголовок: Когда я работал с ad..


Когда я работал с ads. обязательно надо было расшаривать сетевой ресурс, и при открытии указывать имя файла в формате unc. Можно еще использовать data dictionary. но с ним я не работал.
Если еще AIS, там конечно расшаривать ничего не надо, так как это сделать невозможно, но с ним я опять таки не работал.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2936
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 21:33. Заголовок: Все таки нашел путь ..


Все таки нашел путь ;)
В ASD.INI
Делаем
 
[DRIVES]
x:=//127.0.0.1/C$/sklad/dbf/

А в проге USE x:karta

Можно и так
Set path to x:
use karta

ЗЫ
При чем расшаривать не надо (буква X: в проводнике не появится)

Интересно в ADS есть похожие вещи как в LETO ?
LETO_VARSET
LETO_VARGET
LETO_VARDEL

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2828
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.04.13 22:40. Заголовок: Dima пишет: x:=//..


Dima пишет:

 цитата:
[DRIVES]
x:=//127.0.0.1/C$/sklad/dbf/



А если доступ c$ закрыт, работать будет ? В доке, правда к ads 9.x, написано:

[DRIVES]

If you wish to connect to the Advantage Database Server via the Advantage Internet Server, and your application uses drive letters, you will need a [DRIVES] section to contain the information needed for an Internet connection to Advantage. The [DRIVES] section should contain a list of all drive letters used by the application and the server name and share (or volume) in which the drive letter should map on the server in which the Advantage Database Server is running. The server name and share (or volume) should be UNC (\\SERVERNAME\SHARE).


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2937
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 23:09. Заголовок: Pasha У меня служба..


Pasha
У меня служба доступа к файлам и принтерам вообще выключена и ни чего не расшарено.
А попробуй у себя в браузере строку вбить
 
\\127.0.0.1\c$


Правда если сделать вот так net share c$ /delete то доступа не будет

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2938
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.04.13 10:15. Заголовок: А есть ли возможност..


А есть ли возможность в ADS управлять переменными как в LETO ? Или может какой то похожий инструмент там есть ?
Есть там семафоры но как ими управлять ХЗ

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2988
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.04.13 15:40. Заголовок: Вопросец нарисовался..


Вопросец нарисовался.
Папка с выполняемым файлом лежит на серваке и расшарена. Все рабочие станции юзают
этот расшаренный EXE. Такая схема вполне работоспособна еще со времен Clipper.
НО в этой же папке лежат и файлики которые нужны для работы ace32.dll axcws32.dll
Не будет ни каких конфликтов с этими DLL и будут ли они цепляться при таком подходе
при загрузке программы ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2989
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 10.04.13 15:52. Заголовок: Ответ как бы сам мен..


Ответ как бы сам меня нашел ;)
Запустил прогу. После этого убил выполняемый файл и оба DLL , прога нормально функционирует.
Значит при загрузке программы и прога и DLL грузятся в память.
Что интересно такой фокус с удалением для Clipper EXEшника не работает.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 93
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 10.04.13 18:39. Заголовок: Странно, я не могу у..


Странно, я не могу удалить EXE файл, когда он работает, заметил еще во время перекомпиляции программы.
Удалять DLL во время работы программы не пробовал. А вообще у нас изначально все программы запускаются
из расшаренного диска, правда пока у нас вся система крутится на серверах NOWELL и ADS. Полностью на
Windows сервера может быть начнем переходить осенью

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3009
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.04.13 15:40. Заголовок: Как работать с ADS в..


Как работать с ADS в локальной сети понятно.
Встала задача работать с этой же базой через инет.
С чего тут правильно начать ?
В самом ADS прописать инет порт это ясно
В проге установить AdsSetServerType(4)
Пробую цеплятся AdsConnect(инетIPадрес+порт) и глухо

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3028
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.04.13 10:35. Заголовок: Dima пишет: Пробую ..


Dima пишет:

 цитата:
Пробую цеплятся AdsConnect(инетIPадрес+порт) и глухо


Разобрался. Хорошо есть где почитать. Например тут
Cоздал DATADICTIONARY c помощью Advantage Data Architect , и разрешил юзать базу по инету.
В итоге подключился , базы открываются , все как бы красиво.
Но возник вопрос как быть с файловыми операциями.
Как минимум нужны Ferase(), Fopen(),Directory(),Fcreate(),File()
Из аналогов в ADS нашел только три: AdsDirectory() , AdsDeleteFile(),AdsCheckExistence() (аналог File())
Маловато будет. Что же делать ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 70
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.04.13 12:32. Заголовок: Dima, Удалось подкл..


Dima,
Удалось подключиться через инет ?
возникла мысль может это с типом таблиц связано, не уверен в этом , но вот что есть в хелпе по ADS

Advantage Client Engine API
To connect to an Advantage Database Server over the Internet using the Advantage Client Engine API, you will need to call AdsConnect60 with the full path to the data dictionary and with ADS_AIS_SERVER as the second parameter or as part of the second parameter. Example:
ulRetVal = AdsConnect60( "q:\\test.add",
ADS_AIS_SERVER,
"User1",
"foobar",
ADS_DEFAULT,
&hConnect );



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3029
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.04.13 12:44. Заголовок: Haz пишет: Удалось ..


Haz пишет:

 цитата:
Удалось подключиться через инет ?


Да только не хватает мне файловых операций.
Нормального аналога функции File() нет , похожий аналог AdsCheckExistence() совсем не аналог оказался ;)
Тупо ищет только *.dbf при чем только те что объявлены в DATADICTIONARY.
Файл семафора создать тоже не могу так как ни проверить его существование ни создать не выходит.
Молчу уже про MakeDir() , нормальный Directory() и тд и тп
В этом плане LetoDB намного гибче

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3030
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.04.13 13:31. Заголовок: Насчет файловых опер..


Насчет файловых операций.

 
First thing you have to understand when using AIS (advantage internet
server) is that you are not having access to a file server directory,
only to the database, so you cannot perform any activity related with OS
file operations, for example you cannot make a FILE() or FCOPY()
operation, you cannot create tables (unless you do it via SQL).




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 59
Зарегистрирован: 15.12.09
ссылка на сообщение  Отправлено: 15.04.13 14:35. Заголовок: Если нет желания или..


Если нет желания или возможности написать что то параллельно работающее и получающее задание по ip, то я в таких случаях на удалённом офисе(т.е. чуть шире чем сервере) пишу и запускаю что то ожидающее заданий в вашем случае в таблицах ADS(например по таймауту проверяющее их наличие) и в них же отчитывающееся о успешном или нет выполнении оных, таким образом можно даже ОС переустановить в удалённом офисе где то в интернете

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2861
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.04.13 15:07. Заголовок: В харборе на этот сл..


В харборе на этот случай есть драйвер netio. Можно собрать netio-сервер, запустить его как приложение, и клиент может обращаться к нему с запросами по файловым операциям. А в качестве запросов будут собственно вызовы обычных файловых функций, для memio мы их разбирали:

FErase("netio:" + ...)
и так далее
только File() мне кажется так работать не будет, но ей можно найти замену, та же Directory, или FileSeek(), или что-то еще


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 257 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 17
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет