Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1146048231
EdSin
2006-04-26 14:43
2006.05.21
Работа с TTreeView


2-1146653813
паша32
2006-05-03 14:56
2006.05.21
1) Как из DateTimePicker a "вырезать" номер месяца?


1-1144417536
Steplerr
2006-04-07 17:45
2006.05.21
32-битные иконки в TreeView - как?


3-1143730751
Alex_12345
2006-03-30 18:59
2006.05.21
Apollo: не работает....


2-1146478389
Ezorcist
2006-05-01 14:13
2006.05.21
JPEG





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский