![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Предложение [IB6.x]
}|{yk © (2004-01-17 15:02:00)
Мне не нравится организация доступа к БД Interbase. Необходимо указывать хост расположение на нем БД иногда порт. Почему бы не сделать файл настроек (и положить его в папку с winnt) в котором прописывать настойки для разных БД, а обращаться по псевдониму? Переписать IBDatabase, добавить ему одно свойство и два метода.
Но - я не хочу изобретать велосипед. Может это уже решено?
jack128 (2004-01-19 16:03:00) [1]
в полуторке есть файл aliases.conf. Уж не знаю, зачем он, но может это то что те нужно?
MV (2004-01-19 15:33:00) [2]
Возьми FIBPlus - вместо IBX - там все это да-а-авно есть.
kaif (2004-01-19 04:08:00) [3]
2 }|{yk © (17.01.04 15:02)
Кстати, ничто не мешает сделать своего потомка (как ты предложил) от класса TIBDatabase и юзать его вместо TIBDatabase в своих приложениях.
kaif (2004-01-19 04:05:00) [4]
Я делаю один ini-файл (для приложения), в котором прописываю путь к файлу db.ini. Файл db.ini может лежать на сервере или на клиенте. В нем для каждого соединения делаю секцию [имя базы (читай алиас)], а в секции прописываю протокол, сервер, путь к базе и всякую относящуюся к базе глобальную информацию.
В приложении есть пункт меню "соединиться", который вызывает список всех секций из db.ini в ListView.
И кнопки "соединиться", "отмена",
"добавить..", "удалить", "свойства..".
Перед высветкой окна пытаюсь открыть db.ini на запись (как файловый поток). В случае ошибки, делаю все кнопки, кроме "соединиться" и "отмена" недоступными.
Расшариваю db.ini так (если он на сервере), чтобы читать его могли все, а писать - только те, кому доверяю "настройку соединений".
Если db.ini хранится на сервере (так обычно и бывает), то список "алиасов" для всех общий. Если на клиенте - то у каждого свой список алиасов.
Мне кажется это удобно (для моих задач).
А что-то встраивать в IBX не считаю необходимым. Каждый разработчик использует тот способ организации алиасов, который удобен ему для его специфических задач. Иногда ведь и не нужно, и даже вредно, чтобы настройку кто-то мог изменить...
}|{yk (2004-01-17 19:52:00) [5]
Ну это можно реализовать как вспомогательное - хочешь - выбираешь стандартый метод, хочешь - новый. Метод чтения вообще не нужно придумывать. Просто при записи будут меняться параметры. Но их можно менять и вручную.
sniknik (2004-01-17 18:43:00) [6]
бред (имхо), работаю именно с разными БД, такая двухступенчатая система только усложнит настройку а уж если такое решение еще и клиенту поставиш... ни в жизнь не выясниш что случилось при глюке без выезда.
если уж надо используй ADO и его настроечные udl файлы, настрой каждый под свою базу, переключатся выбором файла в строке коннекта.
либо алиасы bde/odbc переключение выбором алиаса.
только не получается так, переключил базу и работаеш уже с другой ничего не меняя. у каждой свои особенности, или нормально работаеш с конкретной базой(типом) или получится нечто ублюдочное что использует только минимум присутствующий абсолютно во всехбазах. т.е. если ексел не позволяет удаление строк то нигде этого нельзя делать (а вдруг к нему подключатся/или к тексту), можеш себе такое представить? я нет.
Cranium (2004-01-17 16:55:00) [7]
А что тебе мешеает написать класс который бы этим и занимался...
}|{yk (2004-01-17 16:50:00) [8]
Выбирая пседоним функция будет расставлять параметры database
если есть несколькр тестовых машин то удобнее выбирать их псевдонимы и тестировать
дополнительно нужно переделать форму коннекта
Desdechado (2004-01-17 15:10:00) [9]
1. почему именно winnt ?
2. так часто с разными БД работаешь, что нужно переключатся?
3. тяжело в параметры Database при подключении писать?