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




Пост 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: 3679
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.13 14:29. Заголовок: vladru пишет: Т.е. ..


vladru пишет:

 цитата:
Т.е. RDDADS для версии ADS 5.5 будет работать с моим локальным ADS сервером версии 9.1 ?


Нет. С версией 5.5

9.1 вам зачем я не пойму ?

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



Пост N: 22
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 01.11.13 14:32. Заголовок: Dima пишет: 9.1 вам..


Dima пишет:

 цитата:
9.1 вам зачем я не пойму ?


Дык, а где мне дома взять локальный сервер версии 5.5, да еще под win?

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




Пост N: 3680
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.13 14:37. Заголовок: vladru пишет: Дык, ..


vladru пишет:

 цитата:
Дык, а где мне дома взять локальный сервер версии 5.5


Он уже есть в составе ACE линк на который я давал (adsloc32.dll)

ace.h я забыл
вот http://gfile.ru/a2eNn

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



Пост N: 128
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 01.11.13 15:04. Заголовок: Ну вообще-то версия ..


Ну вообще-то версия RDD для 5.5 и соответствующий ACE32.DLL должен работать с
сервером 9.9. По крайней мере, я когда-то пробовал на 10 версии для WIN, и у меня работало,
и CLIPPER в том числе.
Клиент более низкой версии допускает работу с сервером более высокой версии.
Наоборот только работать не будет.

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



Пост N: 23
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 01.11.13 15:10. Заголовок: Понял. -Значит крушу..


Понял.
-Значит крушу свой ADS 9.1 - он уже нафиг не нужен;
-кладу в папку с прогой Ваш архив
-в программе делаю SET SERVER LOCAL (если у себя запускаю)
(тогда программа будет делать серверные вызовы через DLL из папки программы)

Осталось только RDDADS пересобрать под присланный Вами acesdk5.5.
(И всё-же где написано как это сделать не пересобирая весь Harbour ?)

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




Пост N: 3681
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.13 15:15. Заголовок: vladru Лезем в папк..


vladru
Лезем в папку harbour\contrib\rddads\
Там создаем батник (даю свой вариант....правьте)
 
set PATH=C:\MinGW\bin
set HB_INSTALL_PREFIX=c:\hb32mingw
set HB_DIR_ADS=C:\ads.10.10\acesdk
set HB_WITH_ADS=C:\ads.10.10\acesdk
c:\hb32mingw\bin\hbmk2 rddads.hbp



После правки запускаем его и должен собраться RddAds

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



Пост N: 24
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 01.11.13 18:44. Заголовок: У заказчика оказывае..


У заказчика оказывается ADS 7.1 под Novell. Меня чего-то сглючило на 5.X.

- Я скачал acesdk 7.1. с сайта http://devzone.advantagedatabase.com/
- пересобрал rddads с ним как указал Dima

Заказчик запускает у себя на машине где стоит ADS Novell такой скрипт:
#include "ads.ch"
proc main
REQUEST ADS
rddSetDefault("ADSCDX")
SET SERVER REMOTE
? AdsConnect("Z:") // .F.
? AdsConnect("z:") // .F.
? AdsConnect("\\Server") // .F.
return

Результат удручает - к ADS серверу не подключается.
Что может быть не так?

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




Пост N: 3682
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.13 18:53. Заголовок: а если добавить rdd..


а если добавить
rddRegister("ADS",1)
AdsRightsCheck(.F.)
и юзануть AdsIsServerLoaded()

Netware у него по IPX работает ?
Novell Client на рабочей станции стоит ?

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




Пост N: 3683
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.11.13 18:55. Заголовок: vladru пишет: AdsCo..


vladru пишет:

 цитата:
AdsConnect("\\Server")


Тут этого видимо мало будет и нужно указать том еще

 
Parameters

pucServerName (I)
Full file path of the data dictionary file, server name, or drive letter to which to connect.
If the application uses a server name as the parameter, it must include the share name for Windows,
path from the root for Linux, or volume name for Novell NetWare as well.
For example, use "\\server\share", "\\server\path_from_root", or "\\server\volume".
Linux users can also connect to the local machine using a direct path such as "/mydata".
All Advantage clients and servers consider either slash type (forward or backslash) to be
a path delimiter, this means you could also use a connection path with forward slashes,
such as "//server/volume".
Linux users should also reference the REPLACE_UNC_SERVER section in the ads.ini documentation.



PS
я когда юзал ADS по IPX из Harbour то AdsConnect вообще не использовал

и пробни \harbour\contrib\rddads\tests\manage.prg только там поправить придется кое что

Вместе со своим EXE давал ему еще и
"ansi.chr","extend.chr","ace32.dll","axcws32.dll" ?



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



Пост N: 25
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 01.11.13 19:44. Заголовок: Dima пишет: Вместе ..


Dima пишет:

 цитата:
Вместе со своим EXE давал ему еще и
"ansi.chr","extend.chr","ace32.dll","axcws32.dll" ?


Да, давал.

 цитата:
я когда юзал ADS по IPX из Harbour то AdsConnect вообще не использовал


Может дадите примерчик как подключались/пользовали ?
Или Вы просто имеете ввиду что никаких доп.движений не делали. Только
REQUEST ADS
SET SERVER REMOTE
а дальше работаем с базой как обычно

 цитата:
Netware у него по IPX работает ?
Novell Client на рабочей станции стоит ?


Да, да.

Я еще не понимаю как указать что надо IPX использовать. Вроде, из документации, ads-клиент это сам должен понять...
Может каие-то dll нужны или доп.движения ?

Насчет AdsIsServerLoaded:

#include "ads.ch"
proc main
REQUEST ADS
rddRegister("ADS",1)
AdsRightsCheck(.F.)
rddSetDefault("ADSCDX")
SET SERVER REMOTE
? "AdsIsServerLoaded result:", AdsIsServerLoaded() // ответ 0
return

Ну вроде 0 это как раз и хорошо?
т.к. согласно ADS.HLP: AdsIsServerLoaded возвращает целое число и AE_SUCCESS как раз 0 (посмотрел в ace.h)
(правда согласно тому же ADS.HLP: AdsConnect тоже должна возвращать целое, а в harbour возвращает почему-то логическое....)
еще, кстати, в ADS.HLP написано AdsConnect устарела и надо использовать AdsMgConnect

manage.prg - поправил/построил, но испытать на Novell уже не успел (выходные)

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



Пост N: 28
Зарегистрирован: 25.10.13
ссылка на сообщение  Отправлено: 04.11.13 18:27. Заголовок: Dima Спасибо за Ваши..


Dima
Спасибо за Ваши ответы. Пока разобрался, но может еще будут вопросы....
На сегодня выводы такие:

1. AdsConnect использовать, наверно, не стоит т.к. она возвращает только T/F. Вместо неё есть AdsMgConnect. Она возвращает 0 или код ошибки.
2. Описание ошибки есть в ADSERROR.HLP для старых ACE или в advantage.chm для 9. Так я узнал что моя проблема была в том, что версия клиента была старше версии сервера (ошибка 6316)
3. Если есть вопросы по подключению к ADS сначала см. \contrib\rddads\tests\manage.prg

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




Пост N: 3878
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.14 14:43. Заголовок: Похоже фича dborderi..


Похоже фича dborderinfo(DBOI_SKIPWILD,,,cPattern) в ADS не работает...
Печалька.

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




Пост N: 158
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 03.04.14 20:28. Заголовок: вроде уже писали зде..


вроде уже писали здесь об этом - не работает.
http://clipper.borda.ru/?1-4-580-00000368-000-0-0
мож через sql запрос можно вывернуться ?

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




Пост N: 3879
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.14 21:01. Заголовок: Haz пишет: мож чере..


Haz пишет:

 цитата:
мож через sql запрос можно вывернуться ?


может но не знаком с ними

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




Пост N: 159
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.04.14 07:24. Заголовок: Dima пишет: не знак..


Dima пишет:

 цитата:
не знаком



Рекомендую, многое становиться очень просто, и к тому же с авто оптимизацией ( по возможности ) на сервере.
создаешь словарь, добавляешь в него таблицы и выполняешь запрос , результатом которого будет открытая рабочая область с нужными записями из одной или нескольких таблиц сведенных в одну автоматом.

PS для твоего случая в синтаксисе есть оператор LIKE cPattern




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




Пост N: 3880
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.14 10:06. Заголовок: Haz пишет: PS для т..


Haz пишет:

 цитата:
PS для твоего случая в синтаксисе есть оператор LIKE cPattern


Можешь примерчик показать ?

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




Пост N: 3881
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.14 11:19. Заголовок: Haz Нашел инфу на ф..


Haz
Нашел инфу на форуме. Сделал вот так , но AdsCreateSQLStatement(,2) выдает .F.
 
proc main
#include "ads.ch"
local sQlStr
REQUEST ADS
rddSetDefault( "ADSCDX" )

REQUEST HB_LANG_RU866
HB_LANGSELECT("RU866")
REQUEST HB_CODEPAGE_RU866
hb_cdpSelect( "RU866" )

SET SERVER LOCAL
AdsSetFileType(ADS_CDX)
AdsRightsCheck(.F.)

use volvo exclusive new
index on indeks to ttt
? AdsConnect( ".\" ) // .T.
? AdsCreateSQLStatement(,2) // .F.
sQlStr:='SELECT * FROM volvo WHERE indeks Like "%44%"'
? AdsPrepareSQL(sQlStr) // .F.
? AdsExecuteSQL(sQlStr) // .F.

wait

return


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




Пост N: 3882
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.14 15:24. Заголовок: Dima пишет: use vo..


Dima пишет:

 цитата:
use volvo exclusive new
index on indeks to ttt
? AdsConnect( ".\" ) // .T.
? AdsCreateSQLStatement(,2) // .F.
sQlStr:='SELECT * FROM volvo WHERE indeks Like "%44%"'
? AdsPrepareSQL(sQlStr) // .F.
? AdsExecuteSQL(sQlStr) // .F.



Не много переделал
 
select 100
? AdsConnect( ".\" ) // .T.
? AdsCreateSQLStatement(,2) // .T.
sQlStr:='SELECT * FROM volvo WHERE indeks Like "%44%"'
? AdsPrepareSQL(sQlStr) // .T.
? AdsExecuteSQL(sQlStr) // по прежнему .F. , почему ?
? AdsGetLastError() // 7200



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




Пост N: 160
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 04.04.14 16:56. Заголовок: только дошел до комп..


только дошел до компа.
делал примерно так

IF AdsCreateSqlStatement( cAlias, 3 ) // использовал ADT а не CDX - думаю не принципиально
IF ADSVERIFYSQL( cSql )
AdsExecuteSqlDirect( cSql )
ELSE
END

позже попробую примерчик подробнее

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




Пост N: 3883
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.14 17:03. Заголовок: Haz Ради теста чека..


Haz
Ради теста чеканул
sQlStr:="SELECT * FROM VOLVO WHERE FIRMA=7"

? ADSVERIFYSQL(sQlStr) // .F. що за на фик..........вроде ж нормальный запрос


Спасибо: 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 час. Хитов сегодня: 175
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет