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

Вниз

Проблема со сканированием БД в BDE   Найти похожие ветки 

 
BRemB   (2004-08-11 16:35) [0]

Добрый день, Мастера! У меня такая проблема, я пытаюсь полностью просканировать все алиасы в bde и составить дерево их у себя в приложении. Но мне нееобходимо узнать и таблицы по алиасам, но у меня при сканировании все виснет. Привожу код функции. Помогите плз, в чем баг?

procedure TfrmAddTableInDB.FormShow(Sender: TObject);
var LstAlias : TStringList;    
   LstTables : TStringList;    
   i,j : integer;
   RootTree : TTreeNode;      
   ChildTree : TTreeNode;      
begin
TreeView1.Items.Clear;
LstAlias:=TStringList.Create;
LstTables:=TStringList.Create;
try
 Session .GetAliasNames(LstAlias);
except
 ShowMessage("Ошибка инициализации BDE!");
end;
for i:=0 to LstAlias.Count-1 do
 begin
   RootTree:=TreeView1.Items.Add(nil,LstAlias.Strings[i]);
   LstTables.Clear;
   try
     Session.GetTableNames(LstAlias.Strings[i],"*.db",false,false,LstTables);
     for j:=0 to LstTables.Count-1 do
       ChildTree:=TreeView1.Items.AddChild(RootTree,LstTables.Strings[j]+".db");
   except
     on EDBEngineError do continue;
   end;
 end;

end;


 
Соловьев ©   (2004-08-11 16:40) [1]

А пройти дебагером слабо?


 
Rule ©   (2004-08-11 16:41) [2]

on EDBEngineError do continue;
а мне эта строчка кажется подозрительной, ну не логично както, если хотите продолжить даже в случае ошибки то просто ничего не пишите


 
BRemB   (2004-08-11 16:43) [3]

пробовал, но все равно, в bde примерно 60 алиасов, и на 42 виснет, причем пробовал вставлять новые и удалять.


 
BRemB   (2004-08-11 16:46) [4]


> А пройти дебагером слабо?

Я говорю же что на 42 итерации виснет никак не реагирует, отлаживал пошагово


 
Rule ©   (2004-08-11 17:11) [5]

Может с самим BDE чегото


 
Соловьев ©   (2004-08-11 17:12) [6]

а если 10 алиасов?


 
BRemB   (2004-08-11 17:33) [7]


> Может с самим BDE чегото

C BDE все нормально, т.к. другая программа может все это сделать и с довольно приличной скоростью

> а если 10 алиасов?

тоже самое, я заметил, что в BDE усть такой алиас MQIS - SQL Server"a, до него все идет нормально, а на нем все останавливается и я не могу его удалить, хотя SQL Server остановлен. Другое приложение полностью анализирует структуру даже с этим алиасом.


 
Rule ©   (2004-08-11 17:34) [8]

BRemB   (11.08.04 17:33) [7]
Какое другое приложение


 
BRemB   (2004-08-11 17:40) [9]

есть ГИС Zulu 5.2 там есть такая штука, я хочу сделать также


 
Anatoly Podgoretsky ©   (2004-08-11 17:58) [10]

BRemB   (11.08.04 17:33) [7]
Так другое приложение написано правильно. И чего ты лезешь на SQL сервер?


 
BRemB   (2004-08-12 10:41) [11]


> И чего ты лезешь на SQL сервер?

Я просто перебираю все алиасы, и когда доходит до MQIS, то останавливается. Вот именно, что другое приложение написано правильно, я хочу выяснить в чем у меня ошибка, поэтому я и кинул вопрос на форум


 
Соловьев ©   (2004-08-12 10:43) [12]


> поэтому я и кинул вопрос на форум

по твоему коду видно, что тебя интересует таблицы парадокс, про МС СКЛ мы должны были догадаться?


 
Anatoly Podgoretsky ©   (2004-08-12 10:58) [13]

Они просто не лезут грязными руками на SQL сервер


 
BRemB   (2004-08-12 11:03) [14]

по моему коду видно, что при возникновении исключительных ситуаций они будут обрабатываться, а MS SQL - это исключительная ситуация.

> про МС СКЛ мы должны были догадаться

Вы могли догадаться, что в BDE могут быть и MSSQL


 
app ©   (2004-08-12 11:17) [15]

BRemB   (12.08.04 11:03) [14]
Рассмешил, MS SQL сервер это не исключительная ситуация, а нормальный промышленный сервер. Не кати бочку на Микрософт, есть более точные мишени.


 
Соловьев ©   (2004-08-12 11:18) [16]

я так понимаю у тебя нет там исключительной ситуации прога ждет. А ждет она ввода пароля и логина.


 
BRemB   (2004-08-12 11:29) [17]


> А ждет она ввода пароля и логина.

Да, но почему же не выводит окно ввода пароля и логина. Да и еще у меня есть алиасы к интербейсу, они у меня проходят нормально. В таком случае они тоже должны были выдавать окно ввода пароля и логина.


 
Соловьев ©   (2004-08-12 11:30) [18]


>  Да и еще у меня есть алиасы к интербейсу, они у меня проходят
> нормально

хм...тогда не ясно чего она ждет...


 
BRemB   (2004-08-12 14:16) [19]

вот именно, интересный наблюдается факт, код написанный на другой машине и там скомпилированный на D7 работает, и там и у меня. Я пишу на своей машине точно такой же код и компилирую у себя, но у меня не работает. Использую компонент TDatabase. Привожу код.

procedure TForm1.Button1Click(Sender: TObject);
begin
Session1.Active:=true;
Session1.GetAliasNames(combobox3.Items);
end;

procedure TForm1.ComboBox3Click(Sender: TObject);
begin
Database1.Connected:=false;
Database1.AliasName:=combobox3.Items.Strings[combobox3.ItemIndex];
Database1.GetTableNames(listbox1.Items);
Database1.Connected:=true;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
14-1092370270
Dmitriy O.
2004-08-13 08:11
2004.09.05
48 Конгресс Европейской организации качества. Москва


8-1087720665
tamagavk
2004-06-20 12:37
2004.09.05
Подскажите текст программы, а может только процедуру


14-1092636996
Реактор
2004-08-16 10:16
2004.09.05
Проблемы с высвобождением памяти


9-1084611613
Rayslava
2004-05-15 13:00
2004.09.05
Наложение текстур


14-1092655247
Григорьев Антон
2004-08-16 15:20
2004.09.05
Просто порадовала шутка :))





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