Форум: "Базы";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизПроблема с инстяляцией на Win2003 Server Найти похожие ветки
← →
beglec © (2006-03-26 11:59) [0]Ставлю 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 лицензионный со всеми последними патчами.
← →
sniknik © (2006-03-26 12:34) [1]> Higher table level required
сравни тип таблици(/версию/level) с установленным в настройках BDE (BDE администраторе). скорее всего просит "поднять" его в установках. т.к. установлен ниже чем в используемых таблицах (ты ведь их скопировал с другой машины, не создавал тут же?)
← →
beglec © (2006-03-26 12:50) [2]
> ты ведь их скопировал с другой машины, не создавал тут же
Как раз я создаю таблицы заного - они создаются прекрасно.
С индексами проблема
а чего поднять то в настройках ?
← →
sniknik © (2006-03-26 12:56) [3]> Как раз я создаю таблицы заного - они создаются прекрасно.
... хм. вот тогда хз. но всетаки попробуй LEVEL в драйвере поставить побольше 7 вроде бы максимальный для парадокса в BDE.
> С индексами проблема
кстати там вроде обязателен ключь первым, он есть?
← →
beglec © (2006-03-26 12:56) [4]в Win XP
PARADOX LEVEL 7
version 4.0
при установке Win2003
PARADOX level 7
version 4.0
выше 7 нет ничего
Может это каким то образом связано с разрядностью???
Просто 2003 довольно часто ругается на приложения в которых реально используются 16 битные вызовы. (хотя и пишут что 32 ;))
P.S. Delphi 7.0
← →
beglec © (2006-03-26 12:59) [5]
> 7 вроде бы максимальный
7 действительно максимум
> обязателен ключь первым
да ключ Primary создается без проблем
← →
sniknik © (2006-03-26 13:02) [6]да. там от него и индексы зависят
help
To use Blob fields, secondary indexes, and strict referential integrity, specify either Paradox level 4 or Paradox level 5 tables. You will probably want to use the lowest level possible in order to maximize backward compatibility. Choose Level 7 only If you need the advanced indexing features supported by that table format.
выбирайте 7й если нужны расширенные возможности индексации...
по дефаулту ставится 4й... видимо "проблемный" - ixDescending как раз из расширенных.
← →
beglec © (2006-03-26 13:04) [7]Дык в том то и дело что стоит 7 уровень по умолчанию
или это нужно как учитывать и прописывать при создании таблиц ?
← →
sniknik © (2006-03-26 13:06) [8]> Может это каким то образом связано с разрядностью???
вот тут уж не знаю, ничего не скажу.
но вообщето у нас есть одна установка на 2003м сервере с BDE. (т.е. должно работать), правда прога которая BDE юзает не наша, я только из нее данные коекакие импортирую (импорт через jet)... т.е. если и была проблема, как они ее обошли не знаю.
← →
sniknik © (2006-03-26 13:09) [9]> или это нужно как учитывать и прописывать при создании таблиц ?
созданные при этой установке получают эту версию.
← →
beglec © (2006-03-26 13:36) [10]повторил тоже самое на другой машине с установленной Win2003
все заралотала :))
будем менять :)
← →
beglec © (2006-03-27 22:17) [11]Все замечательно, но проблема снова появилась ни с того ни с сего.
ничего не менял. Старый код который уже работал снова на коде ixDescending выдает - что мол требуется таблица более высокого уровня.
Может кто встречался с такой проблемой ?
← →
sniknik © (2006-03-27 23:08) [12]> Старый код который уже работал снова на коде ixDescending выдает - что мол требуется таблица более высокого уровня.
после того как этого потребует, другой (тестовой) программой можеш сделать такой индекс?... а запросом тоже самое? (не так долго набросать тест)
структуру проблемной таблици/ее индексов приведи.
← →
beglec © (2006-03-27 23:16) [13]
IDc ,ftAutoInc ,[ixPrimary]);
ID ,ftInteger ,[ixCaseInsensitive])
DTBegin ,ftDateTime ,[ixDescending]);
DTEnd ,ftDateTime ,[]);
IDLoginBegin ,ftInteger ,[]);
IDLoginEnd ,ftInteger ,[]);
Priority ,ftInteger ,[]);
Special ,ftInteger ,[]);
и т.д. ...
← →
beglec © (2006-03-27 23:42) [14]я конечно извиняюсь за настойчивость, таки может проблема в другом? Сейчас постараюсь описать
динамически создаю таблицы.
пишу следующим образом:
Создать поле(...)
Создать поле(...)
Создать поле(...)
Создать поле(...)
и т.д.
это позволяет мне гибко менять в программе структуру таблицы.
если создаваемое поле уже существует в таблице то ничего не создается, если нет то создаем, также учитываются индексы. Если их нет то создаем.
Создаю поля через TQuery, запросами: типа -
ALTER TABLE ""+TableName+"" ADD "+FieldName+" "+TypeField
то есть каждый раз добавляю поле к существующей базе
как уже выше было указано, первым, абсолютно в каждой таблице создается поле
IDc ,ftAutoInc ,[ixPrimary]);
Осмелюсь предположить, что может быть такой вариант.
AutoInc тип такого поля поддерживается давно. BDE при создании таблицы смотрит, ага поле такого типа и более ничего. Поле поддерживается ИВУ начиная допустим с версии 3.0 для лучшей совместимости со старыми версиями можно прописать, что минимальные требования для таблицы служит движек BDE не менее 3.0 ну или что то в таком духе. А когда повляется новое поле то тут уже баста карапузики.
Это чисто предположения, хотя... сомневаюсь что так оно и есть
P.S. Пока ковыряюсь в HLP но решения проблемы пока не вижу.
← →
sniknik © (2006-03-28 00:17) [15]> ID ,ftInteger ,[ixCaseInsensitive])
оооччень конечно полезный, нечуствительный к регистру, индекс на числовом поле... ;) спасибо. как анекдот расказал. ;)
> пишу следующим образом:
> Создать поле(...)
> ...
не нравится мне такой подход, определись со структурой, сделай ее постоянной не то мороки не избежать.
> Создаю поля через TQuery, запросами:
а че так? поля запросами, а индексы в таблицах. делай все запросами, это же проще.
> как уже выше было указано, первым, абсолютно в каждой таблице создается поле
> IDc ,ftAutoInc ,[ixPrimary]);
ключь тоже лучше прямо в запросе на создание таблици делать.
а вообще всетаки сделай тест, чтобы он без "выкрутасов" создал нужную тебе таблицу и индексы. хоть узнаеш твой код(/подход) виноват или нет (если в простом варианте это не повторится... а основная в тоже время будет глючить).
← →
beglec © (2006-03-28 00:38) [16]
> > ID ,ftInteger ,[ixCaseInsensitive])
согласен, пример не удачно поставил :)
исправлюсь :)
> не нравится мне такой подход, определись со структурой,
> сделай ее постоянной не то мороки не избежать.
сожалею, но заранее структура таблицы неизвестна :(
заказчик определиться не может и время от времени структура меняется. Да еще много поводом почему приходится так делать, вообщем от этого не отказаться.
> а вообще всетаки сделай тест, чтобы он без "выкрутасов"
> создал нужную тебе таблицу и индексы. хоть узнаеш твой код(/подход)
> виноват или нет (если в простом варианте это не повторится.
> .. а основная в тоже время будет глючить).
дык что самое интересное :)) это все работало и давно, а вот тут на медне вот такие выкрутасы начались - причем везде.
просто вариант работает любой сложности, проблема только если указываешь индекс ixDescending. :(
← →
beglec © (2006-03-28 00:58) [17]на счет запросов, в принцепе можно но вот сколько не пробывал, борода и все тут
CREATE INDEX "DTBegin"
ON "Task.DB" ("DTBegin")
Invalid use of keyword
вроде все как HLP написано так и делаю.
← →
sniknik © (2006-03-28 01:10) [18]CREATE DESC INDEX DTBegin ON "Task.db" (DTBegin)
← →
beglec © (2006-03-28 01:15) [19]попытался сделать запрос в DataBase desktop
CREATE DESC INDEX DTBegin ON "c:\1\data\tabTask.db" (DTBegin)
сообщение меня убило:
Error:
"Higher table level required" :(((
установлено Delphi 7.0
← →
beglec © (2006-03-28 01:52) [20]->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:\ недавно, аля места мало стало. Так что вот такие вот дела.
← →
sniknik © (2006-03-28 08:11) [21]> Не ужели Borland так серьезно ошибся и привязался к диску c:\ ???
> Сомневаюсь...
и правильно, ограничение скорее всего не в бде, а в версии/способе regsvr32.exe bdeinst.dll, т.к. оно ограничено для применения ... чегото. не помню. на форуме сдесь както читал что оно предназначено/лицензировано для одного какогото конкретного случая...
в нормальном виде делается инсталяция программы с включением в нее BDE. и вот тут ограничений скорее всего нет (ну проверял же все, и работало, хотя установка BDE у меня на диск J:\ (от C:\ далеко ;).
← →
beglec © (2006-03-28 08:17) [22]Согласен, в том, что что-то тут не так.
j: от c: действительно как северный полюс :).
Установка отдельно BDE у меня есть, сделана при помощи Wise Installer 8.1
но при установке на Win2003 ругается - мол канай отсюдава со своей версией, не для серверов она :). О как!
← →
sniknik © (2006-03-28 08:29) [23]> но при установке на Win2003 ругается
надо будет посмотреть... вот доберусь до 2003-го... кстати там у тебя на нем сервер терминалов стоит? (при установке он предупреждает о возможной невозможности работы некоторых програм. в нужности предупреждения имел возможность убедится... пытался TWAIN на сервер с ним установить. не судьба... ;о))
← →
beglec © (2006-03-30 03:30) [24]я таки извиняюсь за настойчивость, но проблема снова появилась и парит окончательно.
после 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-30 08:35) [25]> неблюдаю 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-04-01 14:23) [26]
> ага, всетаки дело в нем, а то вроде проскакивало что вроде
> 7 используеш. т.е. оно и там и там, и тогда непонятно...
> а c 4-м там даже для автоинкремента уже "Higher table level
> required".
Так вот я и говорю. У меня то стоит 7 уровень (на моем компьтере на котором провожу компиляции) и робит все
а когда произвожу установку на другую машинку вот там начинаются чудеса на виражах
← →
Anatoly Podgoretsky © (2006-04-01 14:53) [27]На другой машине надо настроить БДЕ
← →
beglec © (2006-04-01 23:22) [28]
> На другой машине надо настроить БДЕ
согласен :) - настроиваю
но хотелось бы на автомате.
Ладно буду разбираться с установка Wise Installer
Еще раз спасибо за помощь.
Надеюсь больше не вернусь с этой проблемой.
← →
Anatoly Podgoretsky © (2006-04-01 23:40) [29]Это настройка глобальная, нужно согласие админстратора или его замещающих.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.014 c