Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как узнать все БД, к которым обращается программа?

7.8K
30 июня 2004 года
rwd
2 / / 30.06.2004
Есть проект на билдере(исходники)
Проект обращается к десятку баз данных, чтобы сделать нечто полезное :)
Нужно взять базы с общего сервера и перенести их на локальный компьютер. Перенос всех баз не катит - как минимум много их там.
Пробежавшись по коду, нашел несколько ADO со строкой коннекта. Но сдается мне, что параметры соединения можно еще куда-то спрятать.
М.б. кто-нибудь подскажет?

P.S.
На билдере программировал последний раз лет несколько назад, поэтому просьба не пинать за бестолковые вопросы
.
2.0K
30 июня 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by rwd
Есть проект на билдере(исходники)
Проект обращается к десятку баз данных, чтобы сделать нечто полезное :)
Нужно взять базы с общего сервера и перенести их на локальный компьютер. Перенос всех баз не катит - как минимум много их там.
Пробежавшись по коду, нашел несколько ADO со строкой коннекта. Но сдается мне, что параметры соединения можно еще куда-то спрятать.
М.б. кто-нибудь подскажет?

P.S.
На билдере программировал последний раз лет несколько назад, поэтому просьба не пинать за бестолковые вопросы
.



Перенеси те, что нашел и запусти без сервера. Если чего-то не хватает прога сама выдаст ошибку - "немогу подключиться туда и туда"

А "еще куда-то спрятать" можно при желании куда угодно - в файл текстовый, в параметры компонентов, можно в рунтайме формировать подключение в зависимости от кондишинсов разных...

7.8K
30 июня 2004 года
rwd
2 / / 30.06.2004
Цитата:
Originally posted by Fazil6

Перенеси те, что нашел и запусти без сервера. Если чего-то не хватает прога сама выдаст ошибку - "немогу подключиться туда и туда"


Если ее не отучить от этого :)
тогда программа станет молчаливой, как в *нихе

Цитата:
Originally posted by Fazil6
А "еще куда-то спрятать" можно при желании куда угодно - в файл текстовый, в параметры компонентов, можно в рунтайме формировать подключение в зависимости от кондишинсов разных...



да нет, похоже, что такой задачи(спрятать) не стояло, просто получил тут наследие и разбираюсь теперь.
Кстати, я похоже нашел все заросы - посмотрел в exe-файле.
.

294
01 июля 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by rwd
да нет, похоже, что такой задачи(спрятать) не стояло, просто получил тут наследие и разбираюсь теперь.
Кстати, я похоже нашел все заросы - посмотрел в exe-файле.
.


Если всё-таки где-то что-то спрятано, можно запихать в обработчик нажатой клавиши (OnKeyPressed) примерно такое:

Код:
void __fastcall TForm1::DBGrid1KeyPress(TObject *Sender, char &Key)
{    if(Key=='\\\')
    {
        TADOTable *at;
        TADOQuery *aq;
        AnsiString s;

        if((at = dynamic_cast <TADOTable*>(DBGrid1->DataSource->DataSet)) != NULL)
            s =   AnsiString("ADOTable->Connection->ConnectionString =\"")
                + at->Connection->ConnectionString
                + AnsiString("\"\r\n")
                + AnsiString("ADOTable->ConnectionString =\"")
                + at->ConnectionString + AnsiString("\"");

        if((aq = dynamic_cast <TADOQuery*>(DBGrid1->DataSource->DataSet)) != NULL)
            s =   AnsiString("ADOQuery->Connection->ConnectionString =\"")
                + aq->Connection->ConnectionString
                + AnsiString("\"\r\n")
                + AnsiString("ADOQyery->ConnectionString =\"")
                + aq->ConnectionString + AnsiString("\"");

        Application->MessageBoxA(s.c_str(),(Application->Title + AnsiString(" Test")).c_str(), MB_OK | MB_ICONINFORMATION);
    }
}

И в рантайме по кнопке "\" смотреть, куда мы подключаемся. Коряво, конечно, да и ручками много писать, но как это сделать автоматически, пока не могу додуматься.

Ещё можно написать в самом начале что-то типа TDBGrid *g = dynamic_cast <TDBGrid*>(Sender) и использовать один обработчик для всех гридов.
_
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог