Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: создание базы gdb и коннект из Delphi IBDatabase  (Прочитано 12004 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 17-06-2010 12:15 » 

Какая -то фигня - вроде все в теории освещено . Работаю с поставленным с C++ Builder 6.0
Inтerbase (вроде это Сервер Interbase 6.5  )
создаю новую базу в IBConsole - смотрю -  а ее файл не имеет расширения gdb - не имеет вообще расширения
Соответственно не могу указать путь к нему в компоненте TIBDatabase , т.к тот настроен на расширение gdb
Попытка изменить расширение ни к чему не привела.
Попытка коннекта к стандартной БД isc4.gdb (вроде создается установкой Interbase на последнем этапе инсталляции C++Buider ) ни к чему не привела
1)Почему это?
2)почему-то в моей инсталляции Delphi7 нет вопроса (т е видимо возможности) доустановки Interbase Local Server)
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 17-06-2010 13:05 » 

а использование IB регламентировано закачиком или какой другой религией? почему не бесплатный FireBird, который по структуре баз совместим с IB? там хватает кривостей, компоненты неудобные, всё стоит денег, к тому же с версии IB 7.1 база перестаёт быть совместимой с прогрессивными передовыми разработками человечества aka Firebird, Yaffil и пр. т.е. бэкап/рестором мигрировать с данной платной СУБД под её бесплатный аналог FB - уже так просто не удасться.

второе. под FB написаны прекрасные компоненты доступа FIB+, избавляющие разработчика от массы всякой ерунды, типа борьбы с генераторами, автоматическим коммитом транзакций, вычиткой из сервера данных, вносимых на его стороне тригерами и дефолтными значениями, автоматическим переоткрытием таблиц после коммитов, и многое другое.

я всё это я к тому, что если нет жЫзненной  необходимости бороться с платнымы IB и IBX, то стоит перейти на их бесплатные, но лучшие аналоги: FB и FIB+. и разбираться сразу с ними.

по сабжу.

1. запущен ли фактически сам сервер IB (есть ли в процессах ibserver.exe, ibguardian.exe)?
2. какие сообщения об ошибках выдаются при коннекте?
3. как выглядит полная строка подключения?
Записан

x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #2 : 17-06-2010 13:10 » 

з.ы. по второму вашему вопросу: в инсталляции самой дельфи установки локального IB нет в принципе, там есть только опция установки локального клиента, что фактически сводится к двум вещям:

1. копированию в WINDOWS\SYSTEM32 файлика gds32.dll, содержащее нативное API
2. добавлению в файлик services строчки "gds_db 3050/tcp #Interbase client".

а сам сервер ставится из отдельной папки лицензионного диска или через его autorun (install.exe в корне диска, там ещё обычно висят всякие TeamSourec, ModelMaker и пр. лабуда).
Записан

eugrita
Помогающий

ru
Offline Offline

« Ответ #3 : 20-06-2010 18:41 » 

1) Согласен, в Delphi так устанавливается локальный клиент, т.е. разновидность Interbase для локальной работы 1 пользователя. Правильно ли я понимаю, что при установке только клиента, а не сервера в IBConsole, нельзя даже зарегистрировать локальный сервер LocalServer, т.е., работать не с чем??
2) Компоненты Interbase Delphi поборол. Работают нормально с русским языком только при добавлении lc_ctype=WIN1251
3) Подключение через BDE (элемент TDatabase) не проходит (хотя сам алиас в BDE нормально включается) - выдает Unable to complete network requst to IB_Server (что ни делал: и в пути алиаса писал 127.0.0.1:d:/ib/ibtest.gdb - не помогает)
4) Для работы через ADO (dbGO) долго мучался, где бы скачать (не EasySoft для ODBC), а настоящее сначала LCPI OLEDB Free Provider v3 - этот не захотел работать с Interbase 6.5. Пришлось качать trial-версию LCPI OLEDB  Provider v1-2-3 и установленной v1 хватило.
При этом начальное открытие запросов выполняется довольно медленно, медленнее чем в IBDatabase.
Есть ли кряк для   LCPI OLEDB  Provider ?  
« Последнее редактирование: 23-06-2010 18:05 от Sel » Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 21-06-2010 07:43 » 

1) да. сервер надо ставить отдельно, клиент - это просто один файл в system32 и одна запись в другом файле.
2) так и должно быть
3) что значит "в пути алиаса"? у компонента TDatabase должен быть выставлен сам алиас, настроенный в Control Panel/ODBC или в BDE Administratore. все пути указываются там.

4) не сталкивался, честно говоря. в любом случае публикация кряков запрещена правилами форума, с этим вам здесь не помогут Ага
Записан

eugrita
Помогающий

ru
Offline Offline

« Ответ #5 : 23-06-2010 08:11 » new

c BDE все нормально, хотя коннект медленный и при интенсивной работе "переполняется" - говорит insufficient memory for start...
---------------------------
Есть еще проблема с TDBCombobox - какой-то ненормальный элемент
Ну ладно, понял что его  Items надо заполнять программно типа
while not DM.QO.eof do
   begin cbO.Items.Add(DM.QO.Fields[1].AsString); DM.QO.Next; end;
черт с этим, хотя ненормальная ситуация для фирменного компонента
но ведь он гад после такого заполнения вообще не реагирует на события
(ладно бы OnChange) но и на OnClick
т.е невозможно построить обработку события выбора какой то записи из него например для построения фильтров. Слышал что лучше вместо него исользовать TDBLookUPComboBox
« Последнее редактирование: 23-06-2010 08:16 от eugrita » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines