![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с инстяляцией на Win2003 Server [D7, Paradox]
beglec © (2006-03-26 11:59:00)Ставлю BDE
regsvr32.exe bdeinst.dll
Ставится то ставится, но при запуске приложение выдает следующее сообщение:
"Higher table level required
Index does not exist"
Делаю установку на XP все работает
В чем проблема?
Более подробно
Создаю такой индекс - выход сообщение об ошибке
Table.AddIndex(FieldName,FieldName,ixDescending); -
Если создаю так то все нормально
Table.AddIndex(FieldName,FieldName,ixCaseInsensitive);
Интересно в чем же здесь дело? Скорее всего во мне, но что и где делаю не так, понять не могу.
Win2003 лицензионный со всеми последними патчами.
Anatoly Podgoretsky (2006-04-01 23:40:00) [1]Это настройка глобальная, нужно согласие админстратора или его замещающих.
beglec (2006-04-01 23:22:00) [2]
> На другой машине надо настроить БДЕ
согласен :) - настроиваю
но хотелось бы на автомате.
Ладно буду разбираться с установка Wise Installer
Еще раз спасибо за помощь.
Надеюсь больше не вернусь с этой проблемой.
Anatoly Podgoretsky (2006-04-01 14:53:00) [3]На другой машине надо настроить БДЕ
beglec (2006-04-01 14:23:00) [4]
> ага, всетаки дело в нем, а то вроде проскакивало что вроде
> 7 используеш. т.е. оно и там и там, и тогда непонятно...
> а c 4-м там даже для автоинкремента уже "Higher table level
> required".
Так вот я и говорю. У меня то стоит 7 уровень (на моем компьтере на котором провожу компиляции) и робит все
а когда произвожу установку на другую машинку вот там начинаются чудеса на виражах
sniknik (2006-03-30 08:35:00) [5]> неблюдаю 4 level.
ага, всетаки дело в нем, а то вроде проскакивало что вроде 7 используеш. т.е. оно и там и там, и тогда непонятно... а c 4-м там даже для автоинкремента уже "Higher table level required".
> Что делать ума не приложу.
попробуй с борланда апдейт BDE скачать (последняя вроде 5.11), ну и этот мегремодуле...(используется для включения в инсталяции BDE) тоже новый, там же, и пересоздай свой инсталятор.
там же находил их сборку "чистого" инсталятора (версия 5.0 вроде), не апдейта а полного, найдеш, тогда ставь его, после 5.11, нет просто апдейтом свое накрой, а потом смотри.
http://info.borland.com/devsupport/bde/
http://info.borland.com/devsupport/bde/bdeupdate.html
beglec (2006-03-30 03:30:00) [6]я таки извиняюсь за настойчивость, но проблема снова появилась и парит окончательно.
после 2 дней эсперементов удалось найти следующие бяки.
Использую Wise InstallMaster 8.1
При помощи этой программы создал чистый BDE инсталятор.
Запускаю исталятор - ругается нато что движек BDE старый :( - BDE файлы берутся с машины на которой моя программа работает все замечательно.
Запускаю regsvr32 bdeinst.dll - исталируется но прописывается 4 level в idapi32.cfg
Снова запускаю свой инсталятор BDE. Проблем более нет :))) движек устраивает. - странно не правда ли ???
но в IDapi32.cfg остается 4 level.
adminbde почему то это level исправить не может.
устанавливаю 7 level перегружаюсь. так как требует перегрузку после такого изменения. Снова запускаю BDE admin и неблюдаю 4 level.
Что делать ума не приложу.
Если разберусь с этой проблемой точно на своем сайте размещу статью об этом решении
sniknik (2006-03-28 08:29:00) [7]> но при установке на Win2003 ругается
надо будет посмотреть... вот доберусь до 2003-го... кстати там у тебя на нем сервер терминалов стоит? (при установке он предупреждает о возможной невозможности работы некоторых програм. в нужности предупреждения имел возможность убедится... пытался TWAIN на сервер с ним установить. не судьба... ;о))
beglec (2006-03-28 08:17:00) [8]Согласен, в том, что что-то тут не так.
j: от c: действительно как северный полюс :).
Установка отдельно BDE у меня есть, сделана при помощи Wise Installer 8.1
но при установке на Win2003 ругается - мол канай отсюдава со своей версией, не для серверов она :). О как!
sniknik (2006-03-28 08:11:00) [9]> Не ужели Borland так серьезно ошибся и привязался к диску c:\ ???
> Сомневаюсь...
и правильно, ограничение скорее всего не в бде, а в версии/способе regsvr32.exe bdeinst.dll, т.к. оно ограничено для применения ... чегото. не помню. на форуме сдесь както читал что оно предназначено/лицензировано для одного какогото конкретного случая...
в нормальном виде делается инсталяция программы с включением в нее BDE. и вот тут ограничений скорее всего нет (ну проверял же все, и работало, хотя установка BDE у меня на диск J:\ (от C:\ далеко ;).
beglec (2006-03-28 01:52:00) [10]->beglec чешет репу :(
все как то это странно:
delphi 7.0 установлена на диск D:\program files и т.д. по умолчанию
BDE туда же, менял только диск, пути оставались тежи
ставлю
regsvr32.exe bdeinst.dll
указываю диск d:\program files и т.д.
результат не работает Desc...
НО !!!
если устанавливаю на диск c:\program files и т.д.
все заработало и по старому и по новому CREATE DESC INDEX DTBegin ON "c:\1\data\tabTask.db" (DTBegin), за что "sniknik"большое спасибо!!!
Глюк?! проверил два раза результат тот же!
Проверил на другой машине. Результат тот же!
Вот и чешу свою репу.
Не ужели Borland так серьезно ошибся и привязался к диску c:\ ???
Сомневаюсь...
Вроде все работает...
Решил свою проблему простой установкой BDE на диск c:\.
P.S. Раньше проблем не было, потому как ставил Delphi + BDE на диск c:\
а переставил на диск D:\ недавно, аля места мало стало. Так что вот такие вот дела.
beglec (2006-03-28 01:15:00) [11]попытался сделать запрос в DataBase desktop
CREATE DESC INDEX DTBegin ON "c:\1\data\tabTask.db" (DTBegin)
сообщение меня убило:
Error:
"Higher table level required" :(((
установлено Delphi 7.0
sniknik (2006-03-28 01:10:00) [12]CREATE DESC INDEX DTBegin ON "Task.db" (DTBegin)
beglec (2006-03-28 00:58:00) [13]на счет запросов, в принцепе можно но вот сколько не пробывал, борода и все тут
CREATE INDEX "DTBegin"
ON "Task.DB" ("DTBegin")
Invalid use of keyword
вроде все как HLP написано так и делаю.
beglec (2006-03-28 00:38:00) [14]
> > ID ,ftInteger ,[ixCaseInsensitive])
согласен, пример не удачно поставил :)
исправлюсь :)
> не нравится мне такой подход, определись со структурой,
> сделай ее постоянной не то мороки не избежать.
сожалею, но заранее структура таблицы неизвестна :(
заказчик определиться не может и время от времени структура меняется. Да еще много поводом почему приходится так делать, вообщем от этого не отказаться.
> а вообще всетаки сделай тест, чтобы он без "выкрутасов"
> создал нужную тебе таблицу и индексы. хоть узнаеш твой код(/подход)
> виноват или нет (если в простом варианте это не повторится.
> .. а основная в тоже время будет глючить).
дык что самое интересное :)) это все работало и давно, а вот тут на медне вот такие выкрутасы начались - причем везде.
просто вариант работает любой сложности, проблема только если указываешь индекс ixDescending. :(
sniknik (2006-03-28 00:17:00) [15]> ID ,ftInteger ,[ixCaseInsensitive])
оооччень конечно полезный, нечуствительный к регистру, индекс на числовом поле... ;) спасибо. как анекдот расказал. ;)
> пишу следующим образом:
> Создать поле(...)
> ...
не нравится мне такой подход, определись со структурой, сделай ее постоянной не то мороки не избежать.
> Создаю поля через TQuery, запросами:
а че так? поля запросами, а индексы в таблицах. делай все запросами, это же проще.
> как уже выше было указано, первым, абсолютно в каждой таблице создается поле
> IDc ,ftAutoInc ,[ixPrimary]);
ключь тоже лучше прямо в запросе на создание таблици делать.
а вообще всетаки сделай тест, чтобы он без "выкрутасов" создал нужную тебе таблицу и индексы. хоть узнаеш твой код(/подход) виноват или нет (если в простом варианте это не повторится... а основная в тоже время будет глючить).
beglec (2006-03-27 23:42:00) [16]я конечно извиняюсь за настойчивость, таки может проблема в другом? Сейчас постараюсь описать
динамически создаю таблицы.
пишу следующим образом:
Создать поле(...)
Создать поле(...)
Создать поле(...)
Создать поле(...)
и т.д.
это позволяет мне гибко менять в программе структуру таблицы.
если создаваемое поле уже существует в таблице то ничего не создается, если нет то создаем, также учитываются индексы. Если их нет то создаем.
Создаю поля через TQuery, запросами: типа -
ALTER TABLE "'+TableName+'" ADD '+FieldName+' '+TypeField
то есть каждый раз добавляю поле к существующей базе
как уже выше было указано, первым, абсолютно в каждой таблице создается поле
IDc ,ftAutoInc ,[ixPrimary]);
Осмелюсь предположить, что может быть такой вариант.
AutoInc тип такого поля поддерживается давно. BDE при создании таблицы смотрит, ага поле такого типа и более ничего. Поле поддерживается ИВУ начиная допустим с версии 3.0 для лучшей совместимости со старыми версиями можно прописать, что минимальные требования для таблицы служит движек BDE не менее 3.0 ну или что то в таком духе. А когда повляется новое поле то тут уже баста карапузики.
Это чисто предположения, хотя... сомневаюсь что так оно и есть
P.S. Пока ковыряюсь в HLP но решения проблемы пока не вижу.
beglec (2006-03-27 23:16:00) [17]
IDc ,ftAutoInc ,[ixPrimary]);
ID ,ftInteger ,[ixCaseInsensitive])
DTBegin ,ftDateTime ,[ixDescending]);
DTEnd ,ftDateTime ,[]);
IDLoginBegin ,ftInteger ,[]);
IDLoginEnd ,ftInteger ,[]);
Priority ,ftInteger ,[]);
Special ,ftInteger ,[]);
и т.д. ...
sniknik (2006-03-27 23:08:00) [18]> Старый код который уже работал снова на коде ixDescending выдает - что мол требуется таблица более высокого уровня.
после того как этого потребует, другой (тестовой) программой можеш сделать такой индекс?... а запросом тоже самое? (не так долго набросать тест)
структуру проблемной таблици/ее индексов приведи.
beglec (2006-03-27 22:17:00) [19]Все замечательно, но проблема снова появилась ни с того ни с сего.
ничего не менял. Старый код который уже работал снова на коде ixDescending выдает - что мол требуется таблица более высокого уровня.
Может кто встречался с такой проблемой ?
beglec (2006-03-26 13:36:00) [20]повторил тоже самое на другой машине с установленной Win2003
все заралотала :))
будем менять :)