Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Проблема с инстяляцией на 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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.049 c
15-1145630756
dimodim
2006-04-21 18:45
2006.05.21
Как установить PHP под FreeBsd [последний]?


6-1131607305
leksaa
2005-11-10 10:21
2006.05.21
indy, proxy и авторизация


2-1146036331
valdemot
2006-04-26 11:25
2006.05.21
компилятор


8-1134990308
plotn
2005-12-19 14:05
2006.05.21
Склеить 2 wavа или 2 mp3.


15-1146061971
Yanis
2006-04-26 18:32
2006.05.21
Может и баян, но улыбнуло