Форум » [x]Harbour » Имя алиаса » Ответить

Имя алиаса

nick_mi: В Clipper'е при открытии базы можно было не указывать имя алиаса, тогда имя по умолчанию бралось такое-же, как имя файла DBF. В Harbour такого нет, это такая фишка, или это все-таки баг и однозначно несовместимость с Clipper.

Ответов - 17

Dima: nick_mi [pre2] proc main use nomen new ? alias() // nomen return [/pre2]

AlexMyr: nick_mi пишет: В Harbour такого нет, это такая фишка, или это все-таки баг и однозначно несовместимость с Clipper. Почему нет? Есть. use test ?alias() // TEST только если имя базы начинается с цифры, тогда ошибка use 2test ?alias() Error DBCMD/1010 Illegal characters in alias: 2TEST Called from DBUSEAREA(0) Called from ALIA(1)

nick_mi: Виноват, уточняю: Harbour 3.0.0( rev 19951) rdd ADS. Я, правда, пересобирал rddads, поскольку у меня пока ads версии 5.7 под NOVELL , а из дистрибутива клиент не хотел работать, выдавал сообщение о несовместимости версий клиента и сервера


Dima: nick_mi С ADS там косяк. Не более 8 символов он покажет в имени алиаса , вроде ж обсуждали это уже.

nick_mi: Но у меня имя базы всего 7 символов (tech903.dbf) А при открытии дает имя алиаса 0bad837d

Dima: упс виноват 10 символов http://clipper.borda.ru/?1-4-0-00000841-000-0-0-1366631863 nick_mi пишет: Но у меня имя базы всего 7 символов (tech903.dbf) А открываешь как ? PS У меня в ADS 10.1 такой проблемы нет

nick_mi: #include "ADS.CH" function main () REQUEST ADS rddRegister( "ADS", 1 ) rddsetdefault( "ADS" ) adsSetFileType (ADS_NTX) set server local set axs locking off AdsSetCharType (2,.T.) // Данные из базы ADS в ДОС формате конвертировать // для нормального отображения на экране for i := 1 to 20 use tech903 new ? str (i), " ", alias () use next

Dima: nick_mi Твой пример я слегка упростил [pre2] #include "ADS.CH" function main () REQUEST ADS rddRegister( "ADS", 1 ) rddsetdefault( "ADS" ) adsSetFileType (ADS_NTX) set server local set axs locking off AdsSetCharType (2,.T.) // Данные из базы ADS в ДОС формате конвертировать // для нормального отображения на экране use tech903 new ? alias () // TECH903 use return [/pre2] Ну а если цикл оставить то результат таков [pre2] 1 TECH903 2 TECH903 3 TECH903 4 TECH903 5 TECH903 6 TECH903 7 TECH903 8 TECH903 9 TECH903 10 TECH903 11 TECH903 12 TECH903 13 TECH903 14 TECH903 15 TECH903 16 TECH903 17 TECH903 18 TECH903 19 TECH903 20 TECH903 [/pre2] А у тебя что выдает Alias() ?

nick_mi: Error DBCMD/1010 Illegal characters in alias: 0bad837d на команде use

Dima: жесть. какой ADS (версия) ?

nick_mi: Harbour 3.0.0( rev 19951) ADS версии 5.7 под NOVELL. Но дело скорее в клиенте, Clipper-то работает нормально.

Dima: а если взять версию посвежее , 10.1

nick_mi: А такая есть под NOVELL? С осени будем перепохдить на сервера WINDOWS , там и будет десятка. Но я еще раз хочу сказать , программа на Clipper работает нормально, с этим же сервером, значит дело в клиенте, я так думаю.

Dima: nick_mi я юзал ADS 5.6 под Netware IPX и такого глюка не было при чем юзал из Clipper и из Harbour , базы открывал через dbusearea() где в качестве алиса присваивал имя базы если алиас не был указан явно. под Harbour естественно set server remote

nick_mi: Все-таки оказалось дело в клиенте! . Бог знает, где я его откопал, и что он собой предствавляет. Я только что скачал клиента для версии 5.7 со странички Кресина, подменил DLL и все прошло на ура , даже не делал ACE32.LIB и не перекомпилировал программу. Спасибо за участие

Dima: nick_mi пишет: Я только что скачал клиента для версии 5.7 со странички Кресина Что то сходу не нашел. Уточни линк на ads 5.7 ;)

alkresin: http://www.kresin.ru/down/adsclien.zip



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