Firebird i Builder XE2

0

Witam
Czy z buildera xe2 można połączyć się z Firebird? We wcześniejszych wersjach buildera robiłem to przez TDatabase i ne było żadnego problemu a w xe2 nie mogę się połączyć. Jak się za to zabrać?
wersja jest pro.

0

maiło być TIBDatabase

0

Po pierwsze zdajesz sobie z tego sprawę, że IBX'y oficjalnie nie obsługują i nie będą Firebird'a? Poza tym mają swoje minusy i rzeczy które działają na nich niepoprawnie. O wiele lepiej by było jakbyś przesiadł się na coś innego. Nawet darmowego ZeosLiba.

Po drugie z treści posta mogę Ci powiedzieć, że coś masz źle skonfigurowane. Tyle :] Jak już przybiegasz na forum z problemem opisz trochę bardziej swój problem. Nawet to jaki błąd Ci wyskakuje. Z pytaniem 'nie działa' nie pomożemy Ci, bo szklana kula się stłukła :]

Dlaczego nikt nie odpowiada w moim wątku?

0

CO TO ZNACZY "nie mogę się połączyć."????

0

Ok, już opisuję, ale liczyłem, że ktoś w kilku zdaniach napisze jak się za to zabrać.
Łopatologicznie:

  • dodaję do projektu Data Module, tam wstawiam TIBDatabase oraz TIBTransaction, ustawiam ścieżkę do bazy itp.
  • klikam na TIBDatabase i w oknie wpisuję SYSDBA, masterkey, ścieżkę i klikam Test - dostaję unavailable database

gdy wszystko robię identycznie w builder 5 to działa bez problemu

sprawdziłem też tak:
wstawiłem w kodzie

AnsiString sciezka = ExtractFilePath(Application->ExeName) ;
Stale = new TIniFile(sciezka + "\stale.ini");
serwer = Stale->ReadString("SERWER","S","");
IDB->DatabaseName = serwer + ":" + sciezka + "\BAZA.GDB";

i ten sam komunikat

Proszę, pomóżcie mi:)

0
tuz napisał(a):

Ok, już opisuję, ale liczyłem, że ktoś w kilku zdaniach napisze jak się za to zabrać.
Forum nie jest od podawania tutków. Od tego masz Google :)

tuz napisał(a):

AnsiString sciezka = ExtractFilePath(Application->ExeName) ;
Stale = new TIniFile(sciezka + "\stale.ini");
serwer = Stale->ReadString("SERWER","S","");
IDB->DatabaseName = serwer + ":" + sciezka + "\BAZA.GDB";

i ten sam komunikat

Proszę, pomóżcie mi:)
Czyżbyś chciał się łączyć do bazy która jest na innym serwerze? Na dodatek działa na zmapowanym dysku? Jeśli tak to robisz wielki błąd. Łącząc się do serwera musisz podać ścieżkę do bazy względem serwera, a nie klienta. Co więcej Firebird nie da rady podłączyć się pod bazę która siedzi na dysku sieciowym. Bazy oraz ich ścieżki muszą być na dysku lokalnym.

Poza tym wiesz, że samo Application->ExeName nie musi wskazywać poprawnej ścieżki po więcej odsyłam tu http://4programmers.net/Forum/1266368

BTW było by też fajnie jakbyś podał wersję Firebirda.

0

To jest uniwersalne rozwiązanie gdyby baza była na innym komputerze ale jeżeli jest na lokalnym to w zmiennej serwer jest localhost.
Tak więc baza nie musi być na lokalnym a może być na innym aczkolwiek rzeczywiście na zamapowanym dysku nie chce działać, ale to rozwiązanie, które ja wstawiłem jest sprawdzone i działa.

Zamiast Exename itp zamieniłem na
IDB->DatabaseName = "C:\SRC\TEST\BAZA.GDB";
ale ta ścieżka raczej nie jest problemem gdyż sprawdziłem, że baza jest znajdowana ale jest dla niego nieczytelna

Firebird 1.5 jako usługa i jako aplikacja sprawdziłem.

0

Połączyłem się. Problemem była wersja Firebird. Zainstalowałem 2.5 i poszło.
Czy ktoś wie jaka jest zależność? Na niższych wersjach firebird nie działa czy trzeba inaczej do tego podejść?

Natomiast ścieżka rzeczywiście też jest problemem, ponieważ Exename zwraca jakiś kosmos (builder xe2 i win10).

Pozdrawiam

0
tuz napisał(a):

Tak więc baza nie musi być na lokalnym a może być na innym aczkolwiek rzeczywiście na zamapowanym dysku nie chce działać, ale to rozwiązanie, które ja wstawiłem jest sprawdzone i działa.
Ale wtedy łączysz się do serwera który działa na innym komputerze i tam baza musi być na dysku lokalnym. Poza tym baza nie musi być dostępna w sieci abyś mógł się łączyć do serwera.

tuz napisał(a):

Połączyłem się. Problemem była wersja Firebird. Zainstalowałem 2.5 i poszło.
Czy ktoś wie jaka jest zależność? Na niższych wersjach firebird nie działa czy trzeba inaczej do tego podejść?
Generalnie ten błąd jest dość trudny w rozwiązaniu. Natomiast sam FB 1.5 jest już tak stary, że nie warto się tym przejmować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1