Форум » [x]Harbour » Как прицепится к ADS по сети ? » Ответить

Как прицепится к ADS по сети ?

Dima: Есть ADS 10.10 в настройках у него стоит порт 6262 Вот таким исходником пытаюсь к нему подрубиться. [pre2] #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 [/pre2] ADS.INI в папке с прогой [pre2] [MYSERVER] LAN_IP=127.0.0.1 LAN_PORT=6262 [/pre2] Где мой косяк ?

Ответов - 257, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All

Dima: а если с индексами ? при чем у меня IDX

Haz: Dima пишет: а если с индексами ? при чем у меня IDX не важно CDX IDX - сервер цепляет автоматом попробуй в одном месте ( вместо одного USe )

Dima: Haz пишет: замени все USE cTable ALIAS cAlias на DOSQL( cAlias, "SELECT * FROM " + cTable ) и все решиться само ))) что то слишком уж ты упростил ситуацию. Надо же еще и словари создать и базы туда сунуть , перед DOSQL


Dima: Haz пишет: не важно CDX IDX - сервер цепляет автоматом откуда ему знать какие индексы IDX я юзаю с той или иной базой ? )))

Haz: Dima пишет: Надо же еще и словари создать и базы туда сунуть в arc32 делов на 1 минуту ровно - создать один словарь и одним кликом добавить все dbf

Dima: Haz пишет: попробуй в одном месте ( вместо одного USe ) Допустим было USE Volvo index Volvo1,Volvo2,Volvo,test55 shared new откуда DOSQL поймет что надо прицепить еще и все эти индексы ?

Haz: Dima пишет: откуда ему знать какие индексы IDX я юзаю с той или иной базой ? ))) можно указать при добавлении таблицы в словарь IDX - поддерживается точно, но в тут удобнее CDX а еще удобнее ADI кстати скорее всего SET INDEX TO будет работать тоже

Dima: я понял. но не все сразу и возможно приду к этому ;) у тебя ADS 10.1 ?

Haz: Dima пишет: у тебя ADS 10.1 ? 10.10.0.28

Dima: Haz пишет: 10.10.0.28 Ну в смысле да. А на 11.1 нет "гены" ?

Haz: Dima пишет: нет "гены" ? поискал , не нашел , да вроде и 10 всем пока устраивает

Dima: Haz Попробую описать ситуацию на пальцах Так как я не держу все время базы открытыми а открываю и потом закрываю по мере необходимости то у меня получаются не закрытые коннекты на сервере. При чем при каждом adsConnect60 появлется новый. [pre2] базы уже открыты for i=1 to 10 adsConnect60 DOSQL browse() close adssql ......... AdsDisconnect(tmphh) // по идее отрубаюсь от adsConnect60 AdsConnect(ip_port) adshandle:=AdsConnection() next [/pre2]

Haz: Dima пишет: AdsDisconnect(tmphh) // по идее отрубаюсь от adsConnect60 У меня при старте AdsConnect а при выходе Disconnect и все работает. Делай так же а базы закрывай и открывай когда угодно.

Dima: а у меня выходит 2 ads конекта один обычный AdsConnect а другой AdsConnect60

Haz: Dima пишет: а у меня выходит 2 ads конекта один обычный AdsConnect а другой AdsConnect60 так и оставь их при входе, на выход - дисконнест а между ними любое число USE или DOSQL.

Dima: примерно так и сделал но при каждом вызове adsConnect60 растет и не уменьшается в ADS configuration utility число connections как сказать adsConnect60 что бы он использовал уже текущее подключение (хендл)

Haz: Dima пишет: при каждом вызове adsConnect60 делай всего один вызов, не пойму зачем туда сюда дергать базы уже открыты adsConnect60 for i=1 to 10 DOSQL browse() close adssql ......... next AdsDisconnect(tmphh) // по идее отрубаюсь от adsConnect60

Dima: с одним вызовом adsConnect60 не получается. Захожу в проге в меню и выбираю Каталог запчастей и его смотрю , конект к базам уже есть через adsConnect и объявлен в самом начале программы. Затем мне понадобилось установить SQL фильтр и тогда я подключаюсь к словарю через adsConnect60 и так каждый раз когда нужно установить тот или иной фильтр

Haz: Dima пишет: с одним вызовом adsConnect60 не получается 1 Запихни все dbf в словарь при помощи arc32 2 в начале программы только AdsConnect60 ( без простого AdsConnect ) 3 USE будет нормально открывать базы через словарь так обойдешься всего одним хендлом

Dima: Haz пишет: 1 Запихни все dbf в словарь при помощи arc32 2 в начале программы только AdsConnect60 ( без простого AdsConnect ) 3 USE будет нормально открывать базы через словарь так обойдешься всего одним хендлом В будущем так и сделаю. А выход кажется придумал что бы по 100 не дергать AdsConnect60. Заведу статик переменную да и всех делов и код будет выполнятся только раз



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