Автор | Сообщение |
|
| |
Пост 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 Где мой косяк ?
|
|
|
Ответов - 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 вам зачем я не пойму ?
|
|
|
|
| |
Пост N: 22
Зарегистрирован: 25.10.13
|
|
Отправлено: 01.11.13 14:32. Заголовок: Dima пишет: 9.1 вам..
Dima пишет: цитата: | 9.1 вам зачем я не пойму ? |
| Дык, а где мне дома взять локальный сервер версии 5.5, да еще под win?
|
|
|
|
| |
Пост N: 3680
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.11.13 14:37. Заголовок: vladru пишет: Дык, ..
vladru пишет: цитата: | Дык, а где мне дома взять локальный сервер версии 5.5 |
| Он уже есть в составе ACE линк на который я давал (adsloc32.dll) ace.h я забыл вот http://gfile.ru/a2eNn
|
|
|
|
| |
Пост N: 128
Зарегистрирован: 19.05.05
|
|
Отправлено: 01.11.13 15:04. Заголовок: Ну вообще-то версия ..
Ну вообще-то версия RDD для 5.5 и соответствующий ACE32.DLL должен работать с сервером 9.9. По крайней мере, я когда-то пробовал на 10 версии для WIN, и у меня работало, и CLIPPER в том числе. Клиент более низкой версии допускает работу с сервером более высокой версии. Наоборот только работать не будет.
|
|
|
|
| |
Пост N: 23
Зарегистрирован: 25.10.13
|
|
Отправлено: 01.11.13 15:10. Заголовок: Понял. -Значит крушу..
Понял. -Значит крушу свой ADS 9.1 - он уже нафиг не нужен; -кладу в папку с прогой Ваш архив -в программе делаю SET SERVER LOCAL (если у себя запускаю) (тогда программа будет делать серверные вызовы через DLL из папки программы) Осталось только RDDADS пересобрать под присланный Вами acesdk5.5. (И всё-же где написано как это сделать не пересобирая весь Harbour ?)
|
|
|
|
| |
Пост 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
|
|
|
|
| |
Пост 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 серверу не подключается. Что может быть не так?
|
|
|
|
| |
Пост N: 3682
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.11.13 18:53. Заголовок: а если добавить rdd..
а если добавить rddRegister("ADS",1) AdsRightsCheck(.F.) и юзануть AdsIsServerLoaded() Netware у него по IPX работает ? Novell Client на рабочей станции стоит ?
|
|
|
|
| |
Пост N: 3683
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.11.13 18:55. Заголовок: vladru пишет: AdsCo..
vladru пишет: Тут этого видимо мало будет и нужно указать том еще 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" ?
|
|
|
|
| |
Пост 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 уже не успел (выходные)
|
|
|
|
| |
Пост 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
|
|
|
|
|
| |
Пост N: 3878
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.14 14:43. Заголовок: Похоже фича dborderi..
Похоже фича dborderinfo(DBOI_SKIPWILD,,,cPattern) в ADS не работает... Печалька.
|
|
|
|
| |
Пост N: 158
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.04.14 20:28. Заголовок: вроде уже писали зде..
|
|
|
|
| |
Пост N: 3879
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.14 21:01. Заголовок: Haz пишет: мож чере..
Haz пишет: цитата: | мож через sql запрос можно вывернуться ? |
| может но не знаком с ними
|
|
|
|
| |
Пост N: 159
Зарегистрирован: 20.02.11
|
|
Отправлено: 04.04.14 07:24. Заголовок: Dima пишет: не знак..
Dima пишет: Рекомендую, многое становиться очень просто, и к тому же с авто оптимизацией ( по возможности ) на сервере. создаешь словарь, добавляешь в него таблицы и выполняешь запрос , результатом которого будет открытая рабочая область с нужными записями из одной или нескольких таблиц сведенных в одну автоматом. PS для твоего случая в синтаксисе есть оператор LIKE cPattern
|
|
|
|
| |
Пост N: 3880
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.14 10:06. Заголовок: Haz пишет: PS для т..
Haz пишет: цитата: | PS для твоего случая в синтаксисе есть оператор LIKE cPattern |
| Можешь примерчик показать ?
|
|
|
|
| |
Пост 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
|
|
|
|
| |
Пост 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
|
|
|
|
| |
Пост N: 160
Зарегистрирован: 20.02.11
|
|
Отправлено: 04.04.14 16:56. Заголовок: только дошел до комп..
только дошел до компа. делал примерно так IF AdsCreateSqlStatement( cAlias, 3 ) // использовал ADT а не CDX - думаю не принципиально IF ADSVERIFYSQL( cSql ) AdsExecuteSqlDirect( cSql ) ELSE END позже попробую примерчик подробнее
|
|
|
|
| |
Пост N: 3883
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.14 17:03. Заголовок: Haz Ради теста чека..
Haz Ради теста чеканул sQlStr:="SELECT * FROM VOLVO WHERE FIRMA=7" ? ADSVERIFYSQL(sQlStr) // .F. що за на фик..........вроде ж нормальный запрос
|
|
|
Ответов - 257
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[только новые]
|
|