Автор Тема: Delphi програма с достъп до Firebird база данни под Чакра Линукс  (Прочетена 4601 пъти)

3p0

  • Напреднали
  • *****
  • Публикации: 354
    • Профил
Пиша малка програмка на Делфи, която ползва база данни Файърбърд.
Трябва ми някъде да имам Firebird сървър и да се свържа с него на определен адрес и порт. Някъде на работеща система, била тя localhost, отдалечен хост.
Инсталирах Чакра Линукс и вътре в Чакрата на VirtualBox - Windows XP + Delphi.

Имам отделен лаптоп в локална мрежа, на който може да бъде firebird-а. Или пък да кача някъде в интернет базата-данни, но такова нещо сигурно е още по-трудно?
Общо взето всичко е тудно ..
Активен

MX Linux version 18 "Continuum"
PC: Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte GA-H61M-S2V-B3 rev.1.0; RAM=16Гб DDR3.

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Какво точно питаш?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

3p0

  • Напреднали
  • *****
  • Публикации: 354
    • Профил
Кой е най-добрия вариант за мен ?
1. Базата данни да е при програмката;
2. Базата данни да е в локалната мрежа;
3. Базата данни да е в интернет и от всякъде да мога да се свързвам с нея.
След като се стигне до решение къде да е базата данни, следва въпросът как да се свързвам с нея.
( Трудно е да съм начинаещ във всичко. )
Активен

MX Linux version 18 "Continuum"
PC: Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte GA-H61M-S2V-B3 rev.1.0; RAM=16Гб DDR3.

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Ако този така екзотичен линукс има възможност - направо там си сложи FB. Ако ли не - във виртуалката.

Или друго питаш?
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Кой е най-добрия вариант за мен ?
1. Базата данни да е при програмката;
2. Базата данни да е в локалната мрежа;
3. Базата данни да е в интернет и от всякъде да мога да се свързвам с нея.

wtf? - искаш някой да ти каже, кой ще е най-добрият вариант за теб??? Този въпрос не го ли решава developer-а? Общо взето ще я сложиш на това място според което пишеш софтуера. Ако ще се работи на един компютър само я слагаш при програмата. Ако ще имаш много клиети (в офис например), и те ще работят с базата я слагаш локално. Ако базата ти не съдържа конфиденциална информация може и в нета да я сложиш въпреки, че това е най-тъпия варинат от всички. Какъв е смисъла да я слагаш в някъде в Нет-а? Аз не виждам такъв.

Човек, оставам с впечатление, че не знаеш какво правиш...
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

3p0

  • Напреднали
  • *****
  • Публикации: 354
    • Профил
Аз съм начинаещ ..
Опитах с Lazarus, който компилира и под Линукс, обаче там има някакви нерешени проблеми и се отказах от Лазарус за жалост ..
( Сега ползвам Делфи, но пак ме влече да пусна резултата под Чакра Линукс .. )
Добре, засега спирам с тъпите въпроси и се залавям с програмиране, а по-нататък пак може да попитам нещо ..
Активен

MX Linux version 18 "Continuum"
PC: Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte GA-H61M-S2V-B3 rev.1.0; RAM=16Гб DDR3.

Mitaka

  • Гост
Borland имаха един продукт - Kylix, който се явява Delphi IDE за Linux.
Активен

vtabakov

  • Участници
  • ***
  • Публикации: 6
    • Профил
Щом е в процес на разработка, най - добре да е при програмката!
За достъп до базата използвай TCP/IP. пример: "localhost:<Път до базата>"
 [_]3
Активен

3p0

  • Напреднали
  • *****
  • Публикации: 354
    • Профил
Щом е в процес на разработка, най - добре да е при програмката!
За достъп до базата използвай TCP/IP. пример: "localhost:<Път до базата>"
 [_]3
О.к. така ще бъде докато разработвам ..
Активен

MX Linux version 18 "Continuum"
PC: Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte GA-H61M-S2V-B3 rev.1.0; RAM=16Гб DDR3.

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
От начина, по който питаш оставам с впечатлението, че програмата, която пишеш е с учебна, експериментална или някаква подобна цел. Ако не е така, дай повече информация каква ти е точно целта, но ако съм прав - сложи базата на РС-то, на което ще работиш, стига разбира се машината да може да понесе натоварването, макар това засега не ми се вярва да стане. Така ще си спестиш нуждата винаги да си закачен за мрежа, и-нет и т.н.
И ако ще пишеш за и под Уиндоус (било то и във виртуална машина) сложи и базата да работи под уиндоус. Не се сещам за причина да търкаляш файърбърда под линукс, да пишеш във виртуалка и през нея да достъпваш базата.
Накратко - ако си начинаеш направи нещата възможно най-просто и работещо, а с напредъка усложнявай.
Активен

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Какви точно нерешени проблеми има в Lazarus за работа с Firebird?

Там има толкова и то доста добри библиотеки, а и при положение че си начинаещ - кое точно там не ти тръгна.

И още един въпрос:

Lazarus под Уиндоус или под линукс го караш?

Ако ще е под линукс - сложи си някоя по-популярна дистрибуция. Там дори поддържат в репотата си лазарус стабилен.
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Това, което се опитвах да ти кажа, е именно да си пишеш програмата така, че тя да се свързва мрежово (TCP/IP както казаха по-горе) с базата. Така за крайното ползване на един потребител ще е нужна само една база, а той може да си има няколко работещи инстанции на програмата.

Т.е. нужно е да разучиш/да ти помогнат как да направиш програмата така да се свързва с базата и да си направиш някакъв механизъм за конфигурация, в който да се задават адрес, порт, потребителско име, парола (или други аутентикации) за базата. Оттам нататък сървъра с базата може да си е на каквато ОС си искаш, където си искаш, стига да имаш достъп до него.

Отделно твоята програма си я пиши с каквато технология можеш, за която ОС можеш и имаш нужда. Като цяло, ако я напишеш специално за Уин, би трябвало да можеш и под Уайн да я пуснеш. Ако я пишеш без някакви системно-зависими неща, ще може да я компилираш и под Уин, и под Линукс (поотделно, понеже форматът на бинарните файлове си е според операционната система) и да я ползваш natively и под двете.

ПС. Пак да ти кажа, че говоря в общия случай, конкретно познания по Pascal, Delphi, Lazaurus нямам. Но все пак мисля, че така е добре да се направи, независимо на какво ще се пише.
Активен

3p0

  • Напреднали
  • *****
  • Публикации: 354
    • Профил
Компилирах с Лазарус и под Линукс и под Уиндоус - наистина кодът им е преносим ....
Под Лазарус имаше ужасен проблем с UTF-8 трингове, които записвах в базата данни, за които един символ от тези стрингове изисквал между 1 и 4 байта място в базата данни, което ме шашардиса и като попитах, как да го реша това, ме посъветваха да изчакам системно решение на проблема и ми посочиха едно мнение за същия проблем от 2010 година. Аз си казах, че много ще има да го чакам ситемното решение и преминах на Делфи, където този проблем беше решен.
Иначе за други неща Лазарус си беше много добър под Линукс.
Активен

MX Linux version 18 "Continuum"
PC: Intel® Celeron® CPU G540 2.50GHz; MB=Gigabyte GA-H61M-S2V-B3 rev.1.0; RAM=16Гб DDR3.

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
В Лазарус слагаш нещо подобно на това и ще имаш по-малко :) проблеми с utf-8
Код:
procedure TForm1.ZConnection1AfterConnect(Sender: TObject);
begin
  SQLQuery:=TZReadOnlyQuery.Create(Self);
  with SQLQuery do
   begin ;
     Connection:=Sender As TZConnection;
     SQL.TEXT :=  'SET CHARACTER SET utf8';
     ExecSQL;
     SQL.TEXT :=  'SET NAMES utf8';
     ExecSQL;
     SQL.TEXT :=  'SET character_set_client = utf8';
     ExecSQL;
     SQL.TEXT :=  'SET character_set_results = utf8';
     ExecSQL;
     SQL.TEXT :=  'SET collation_connection = utf8_general_ci';
     ExecSQL;
   end;
  SQLQuery.Free;
end;
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Пак не разбрах кое те шашардиса - визуализацията или това, че вземало 1-4 байта?


@ласков

Това ако го пуснеш на едно query с да кажем 100-200 000 записа резултат и 20-тина идиота които като няма какво да правят и пробват колко голям репорт може да мине на принтера при колежката - само да не съм ти сисадмин :D
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Проблем с firebird база данни ...
Настройка на програми
sys7em 5 2683 Последна публикация Apr 08, 2005, 16:15
от sys7em
Delphi
Общ форум
BReaL 4 1822 Последна публикация Jul 19, 2005, 11:42
от v_badev
Проблем с firebird 1.5.1
Настройка на програми
anakinn 2 1846 Последна публикация Mar 30, 2007, 09:31
от anakinn
проблем с firebird
Настройка на програми
anakinn 1 1856 Последна публикация Aug 27, 2007, 12:04
от anakinn
SENIOR DELPHI DEVELOPER
Търсене
Bulwork2010 0 1301 Последна публикация Aug 27, 2010, 21:14
от Bulwork2010