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.
- Rejestracja:prawie 10 lat
- Ostatnio:3 dni
- Postów:1083
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 :]
http://4programmers.net/Pomoc/Forum_dyskusyjne/Dlaczego_nikt_nie_odpowiada_w_moim_w%C4%85tku

- Rejestracja:ponad 12 lat
- Ostatnio:9 miesięcy
- Postów:6610
CO TO ZNACZY "nie mogę się połączyć."????
- Rejestracja:ponad 9 lat
- Ostatnio:ponad rok
- Postów:62
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:)
- Rejestracja:prawie 10 lat
- Ostatnio:3 dni
- Postów:1083
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.
- Rejestracja:ponad 9 lat
- Ostatnio:ponad rok
- Postów:62
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.
- Rejestracja:ponad 9 lat
- Ostatnio:ponad rok
- Postów:62
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
- Rejestracja:prawie 10 lat
- Ostatnio:3 dni
- Postów:1083
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ć.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.