Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: 3p0 в Jan 18, 2012, 12:20



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

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


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: b2l в Jan 18, 2012, 12:30
Какво точно питаш?


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 12:52
Кой е най-добрия вариант за мен ?
1. Базата данни да е при програмката;
2. Базата данни да е в локалната мрежа;
3. Базата данни да е в интернет и от всякъде да мога да се свързвам с нея.
След като се стигне до решение къде да е базата данни, следва въпросът как да се свързвам с нея.
( Трудно е да съм начинаещ във всичко. )


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: plamen_f в Jan 18, 2012, 12:53
Ако този така екзотичен линукс има възможност - направо там си сложи FB. Ако ли не - във виртуалката.

Или друго питаш?


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: b2l в Jan 18, 2012, 13:00
Кой е най-добрия вариант за мен ?
1. Базата данни да е при програмката;
2. Базата данни да е в локалната мрежа;
3. Базата данни да е в интернет и от всякъде да мога да се свързвам с нея.

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

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


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 13:06
Аз съм начинаещ ..
Опитах с Lazarus, който компилира и под Линукс, обаче там има някакви нерешени проблеми и се отказах от Лазарус за жалост ..
( Сега ползвам Делфи, но пак ме влече да пусна резултата под Чакра Линукс .. )
Добре, засега спирам с тъпите въпроси и се залавям с програмиране, а по-нататък пак може да попитам нещо ..


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: Mitaka в Jan 18, 2012, 13:08
Borland имаха един продукт - Kylix, който се явява Delphi IDE за Linux.


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: vtabakov в Jan 18, 2012, 13:14
Щом е в процес на разработка, най - добре да е при програмката!
За достъп до базата използвай TCP/IP. пример: "localhost:<Път до базата>"
 [_]3


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 13:19
Щом е в процес на разработка, най - добре да е при програмката!
За достъп до базата използвай TCP/IP. пример: "localhost:<Път до базата>"
 [_]3
О.к. така ще бъде докато разработвам ..


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: senser в Jan 18, 2012, 13:20
От начина, по който питаш оставам с впечатлението, че програмата, която пишеш е с учебна, експериментална или някаква подобна цел. Ако не е така, дай повече информация каква ти е точно целта, но ако съм прав - сложи базата на РС-то, на което ще работиш, стига разбира се машината да може да понесе натоварването, макар това засега не ми се вярва да стане. Така ще си спестиш нуждата винаги да си закачен за мрежа, и-нет и т.н.
И ако ще пишеш за и под Уиндоус (било то и във виртуална машина) сложи и базата да работи под уиндоус. Не се сещам за причина да търкаляш файърбърда под линукс, да пишеш във виртуалка и през нея да достъпваш базата.
Накратко - ако си начинаеш направи нещата възможно най-просто и работещо, а с напредъка усложнявай.


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: plamen_f в Jan 18, 2012, 13:27
Какви точно нерешени проблеми има в Lazarus за работа с Firebird?

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

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

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

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


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: bop_bop_mara в Jan 18, 2012, 16:01
Това, което се опитвах да ти кажа, е именно да си пишеш програмата така, че тя да се свързва мрежово (TCP/IP както казаха по-горе) с базата. Така за крайното ползване на един потребител ще е нужна само една база, а той може да си има няколко работещи инстанции на програмата.

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

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

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


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 16:15
Компилирах с Лазарус и под Линукс и под Уиндоус - наистина кодът им е преносим ....
Под Лазарус имаше ужасен проблем с UTF-8 трингове, които записвах в базата данни, за които един символ от тези стрингове изисквал между 1 и 4 байта място в базата данни, което ме шашардиса и като попитах, как да го реша това, ме посъветваха да изчакам системно решение на проблема и ми посочиха едно мнение за същия проблем от 2010 година. Аз си казах, че много ще има да го чакам ситемното решение и преминах на Делфи, където този проблем беше решен.
Иначе за други неща Лазарус си беше много добър под Линукс.


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: laskov в Jan 18, 2012, 16:38
В Лазарус слагаш нещо подобно на това и ще имаш по-малко :) проблеми с 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;


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: plamen_f в Jan 18, 2012, 19:26
Пак не разбрах кое те шашардиса - визуализацията или това, че вземало 1-4 байта?


@ласков

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


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 19:32
Примерно полето в базата данни ми е VARCHAR(16), обаче аз не мога да въведа повече от 8 букви на кирилица - това ме шашардиса ???


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: n00b в Jan 18, 2012, 21:02
unicode говори ли ти нещо?


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: 3p0 в Jan 18, 2012, 21:16
unicode говори ли ти нещо?
Не .... ( интуитивно може би имам някаква идеа .. )


Титла: Re: Delphi програма с достъп до Firebird база данни под Чакра Линукс
Публикувано от: laskov в Jan 19, 2012, 14:17
В Лазарус слагаш нещо подобно на това и ще имаш по-малко :) проблеми с 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;
Това ако го пуснеш на едно query с да кажем 100-200 000 записа резултат и 20-тина идиота които като няма какво да правят и пробват колко голям репорт може да мине на принтера при колежката - само да не съм ти сисадмин :D
Не разбрах какво имаш предвид. Може ли да ми обясниш, но не от житейска :) гледна точка.