Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

Ошибки при открытии таблиц   Найти похожие ветки 

 
Ренат   (2002-08-08 09:28) [0]

Есть несколько таблиц Используются в программе на foxpro
При открытии некоторых(не всех) в delphi вываливаются ошибки BDE
Could not find language drive и Invalid index descriptor
Как это дело все исправить?


 
Leran2002   (2002-08-08 11:00) [1]

Скорее всего тебе нужно соединиться с базой при помощи ODBC:
BDE Administrator
Object -> ODBC Administrator
Add... Ну а там выбираешь нужный драйвер (тебе наверное подойдет Microsoft Visual FoxPro Driver) и давишь на Готово, а дальше я думаю ты уже сам разберешься...
Желаю удачи.


 
Leran2002   (2002-08-08 11:05) [2]

Ах да забыл еще выгрузи и загрузи по новой BDE Administrator (ато он что-то не обновляется автоматически), и там появится новый Алиас созданный при помощи ODBC Administrator.


 
Ренат   (2002-08-08 11:45) [3]

Что-то получается но почему-то из 4 таблиц из каталога открывается только одна в разное время другая а так выдается ошибка table does not exists


 
Leran2002   (2002-08-08 12:11) [4]

Ты выбрал Free Table directory при создании Алиаса???


 
Ренат   (2002-08-08 13:09) [5]

Естественно только как интересно эти алиасы удаляются?


 
Leran2002   (2002-08-08 13:16) [6]

При помощи ODBC Administrator - Remove...
Че никак не хочет идти???


 
Ренат   (2002-08-08 13:29) [7]

Да проблема в другом как-то коряво все работает
То delphi сваливается при открытии таблицы, то Table does not exist
Может это из-за драйвера Microsoft Visual FoxPro Driver
потому что таблицы на какой-то древней версии foxpro
только при выборе других драйверов dBase или foxpro driver появляется ошибка ODBC что не удется загрузить программы для установки драйвера из-за системной ошибки


 
Leran2002   (2002-08-08 13:41) [8]

Подождика я кажись не внимательно прочитал вопрос, кажись проблема в языковом драйвере, попробуй открыть таблицу при помощи DBDesktop (надеюсь она откроется), сделай Restructure, там в Table Properties есть Table Language, потом Modify, и там попробуй поставить что нить другое...


 
Ренат   (2002-08-08 13:49) [9]

Нет таблицы там не открываются кодовая страница у них dBase rus cp866
Проблема в каком-то глюке только не пойму где. Потому как например беру удаляю простой индекс у таблицы состоя щий из 1 поля и все открывается Только при чем ошибка в языковом драйвере непонятно?


 
Leran2002   (2002-08-08 13:51) [10]


> Ренат © (08.08.02 13:49)

Все здаюсь, мыслей нет... Сорь что не смог помочь...


 
Leran2002   (2002-08-08 13:53) [11]

Подожди, а переиндексировать таблицы не пробывал, или зделать регенерацию индексов???


 
Ренат   (2002-08-08 14:13) [12]

переиндексировать да
а что значит регенереция?


 
Leran2002   (2002-08-08 14:24) [13]

Регенерация это что-то типа пересоздания индексов, вот тебе кусок кода (только перед тем как запускать закрой свой проект, а-то Delphi будет блокировать таблицу, или вообще закрой Delphi):

uses BDE;
...

{Регенерация индексов таблицы Базы Данных (проверялось только на файлах DBF)
Здесь, если NrErr>0 , то вывод на экран сообщения об ошибке (если была ошибка).}

function TableRegenIndexes(NrErr : byte;Tbl : TTable) : Boolean;
Var
YesEx,YesAct : byte;
S : String;
Res,Res1 : DBIResult;
CCC : array[0..255] of Char;
begin
YesEx:=0;
if Tbl.Exclusive then YesEx:=1;
YesAct:=0;
if Tbl.Active then YesAct:=1;
Tbl.Active:=FALSE;
Tbl.Exclusive:=TRUE;
Tbl.Active:=TRUE;
Res:=DbiRegenIndexes (Tbl.Handle);
Tbl.Active:=FALSE;
if YesEx<=0 then Tbl.Exclusive := FALSE;
if YesAct>0 then Tbl.Active:=TRUE;

if Res=0 then begin
Result:=TRUE;
end
else begin
if NrErr>0 then begin
Res1:=DbiGetErrorString (Res,CCC);
Str(Res,S);
S:="Ошибка реген.индекс.: "+S+" -> "+StrPAS(CCC)+" для : "+Tbl.TableName;
MessageBeep(mb_IconHand);
MessageDlg(S,mtError,[mbOk],0);
end;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
Er:byte;
begin
TableRegenIndexes(Er,Table1);
end;


 
Ренат   (2002-08-08 14:31) [14]

так я ж таблицу не могу открыть


 
Leran2002   (2002-08-08 14:35) [15]

А открывать ее не надо, просто укажи ее в свойстве TableName...


 
Ренат   (2002-08-08 14:51) [16]

Tbl.Active:=TRUE;
А эта строка что по твоему делает?


 
Leran2002   (2002-08-08 15:00) [17]

Да парюсь я уже...
Все точно здаюсь, мыслей нет... Еще раз сорь что не смог помочь...



 
Leran2002   (2002-08-08 15:12) [18]

Знаешь если можешь скинь таблицы мне на ящик (лучше в запакованном виде), я поручаю их на своем компе (ну конечно если это не секретные материалы)…
Вот мой ящик: menshov_s@mail.ru


 
Ренат   (2002-08-08 15:23) [19]

в том-то и дело что секретные


 
Ренат   (2002-08-08 15:23) [20]

настолько что не открываются


 
Desdechado   (2002-08-10 19:34) [21]

имхо, в ключе индекса используются встроенные функции Foxpro, например:
для числового поля NN:
Str(NN)
БДЕ их, естественно, не понимает :(


 
Anatoly Podgoretsky   (2002-08-10 19:51) [22]

Str и еще с десяток BDE понимает, так как сам dBase работает с тем же BDE
Есть ряд вещей которые не понимает, одна из них если языковый драйвер 1251 - вот это не понимает, вероятно ты на язык таблицы и нарвался, судя по сообщению.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.008 c
1-3471
Eugie
2002-08-21 08:07
2002.09.02
Горячие клавиши в главном меню


14-3583
data
2002-08-05 17:39
2002.09.02
Кто-нибудь смотрел конкурс


1-3414
Still Swamp
2002-08-22 18:08
2002.09.02
Компиляция проэкта из коммандной строки


14-3604
vile
2002-08-07 16:07
2002.09.02
Delphi & Excel


1-3421
Vacheslav
2002-08-22 21:01
2002.09.02
Как програмно повернуть рисунок bmp





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский