Jak uzyc firebird embedded?
ban na google???
do kosza
No nikt nie napisze mi jak polaczyc sie z ta baza? Tylko mi nie mowice ze nikt tego nie robil.
Z gory dzieki.
Piasiu napisał(a)
No nikt nie napisze mi jak polaczyc sie z ta baza? Tylko mi nie mowice ze nikt tego nie robil
.
Robił... I szukał w google... Pierwszy adres po wpisaniu do google: http://fhasovic.blogspot.com/2005/05/delphi-unit-to-embed-firebird-into-exe.html
Ponowie prosbe jeszcze raz.
Mam Turbo Delphi i w nim sa komponenty dbExpress. Wrzucilem te wszystkie biblioteczki do katalogu z moja aplikacja. Zmienilem plik fbembed.dll na gds32.dll. Wstawielm komponent TSQLConnection. Wlasciwosc DriveName ustawiam na InterBase i na tym moja cala zabawa sie konczy bo jak probuje sie polaczyc to wyskakuje mi komunikat [0x0015]Connection failed. Unavailable database. Wiec nie wiem czy on w ogóle nie umie sie polaczyc z baza czy po prostu potrzebuje tego pliku bazy, ktorego ja nie mam bo nie wiem jak utworzyc.
A na pewno ktos na tym forum uzywal tego firebirda i jest w stanie mi podeslac jakis prosty przyklad - to chyba nie bedzie dla niego aztakei bolesne. W koncu forum jest chyba po to aby pomagac. A to ze ja akuat nie moge sobie z tym poradzic nie znaczy ze nic nie umie - po prostu nie umie tego i angielskiego rowniez - dlatego mam trudnosci z uzywaniem tej bazy. Z MySQL nie mialem zadnych problemow wiec nie wiem co robie źle teraz.
Prosze jeszcze raz o pomoc a najlepiej przyklad.
IntrBase i FireBird to nie to samo, w szczególności driver pod dbexpress z interbasea nie pasuje do firebirda
Pasuja czy nie ale nazwa DLLki jest taka sama wiec stwierdzilem ze to zadziala. Ale skoro nie no to co mam zrobic zeby mi to dzialalo? Jachche tylko wykonac prosta baze. A nie wiem jak w ogóle utworzyc ja.
Misiekd napisał(a)
IntrBase i FireBird to nie to samo, w szczególności driver pod dbexpress z interbasea nie pasuje do firebirda
A ja wyczytałem że firebird wywodzi się od darmowej wersji interbase.
Piasiu napisał(a)
wyskakuje mi komunikat [0x0015]Connection failed. Unavailable database. Wiec nie wiem czy on w ogóle nie umie sie polaczyc z baza czy po prostu potrzebuje tego pliku bazy, ktorego ja nie mam bo nie wiem jak utworzyc.
:|
Chcesz się połączyć z bazą, której nie ma?
- ściągasz http://www.ibphoenix.com/main.nfs?page=ibp_60_odbc
- instalujesz
- odpalasz delphi
- na formę dajesz TADOConnection
- klikasz na niego dwa razy
- wybierasz Use Connection String
- klikasz build
- wybierasz Microsoft OLE DB Provider for ODBC Drivers
- wybierasz Użyj ciągu połączeń
- klikasz Konstruuj
- wybierasz Komputerowe źródła danych
- Nowe
- Źródło danych użytkownika
- Dalej
- FireBird / Interbase(r) Driver
- Zakończ
- OK
- wybierasz źródło, które przed chwilą stworzyłeś
- OK
nie masz co testować połączenia bo działa ono tylko jak uruchomisz projekt - przy próbie aktywacji połączenia w Delphi dostaniesz
przykładowy Connection String wygląda tak
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=fb;Driver=Firebird/InterBase(r) driver;Dbname=c:\a\zam.fdb;CHARSET=WIN1250;UID=SYSDBA;Client=C:\a\FBCLIENT.DLL"
Juhas napisał(a)
:|
Chcesz się połączyć z bazą, której nie ma?
No właśnie nie wiem jak ją utworzyć :/
Misiekd:
Ale ja nie chche używać ODBC.
Piasiu napisał(a)
Misiekd:
Ale ja nie chche używać ODBC.
to sobie kup sterowniki do dbexpress dla FB http://www.upscene.com/products/dbx/dbx_fb.htm tu masz triala http://www.upscene.com/downloads.htm#dbx_firebird
To mam rozumieć to tak, że jeśli chche używać Firebird Embeded to musze sobie zainstalować jakiś program czy coś?
Prosze o korekte jeśli się myle.
Bo ja myślałem że wystarczy mieć DLLki i stworzyć jakąś baze (tylko niewiem jak :/ ) i w jakiś sposób uzyskać połączenie do tej bazy (np. poprzez dbExpress) bez potrzeby instalowania jakichkolwiek dodatkowych sterowników :|
dobra jak Ci teraz nie wyjdzie to ja wymiękam
- ściągasz IBExpert - tam tworzysz sobie bazę
- ściągasz FBEbedded http://prdownloads.sourceforge.net/firebird/Firebird-1.5.3.4870-0_embed_win32.zip
- tworzysz katalog gdzieś :p (załóżmy, że ten katalog to c:\test)
- do tego katalogu kopiujesz plik fbembed.dll i zmieniasz mu nazwę na fbclient.dll oraz plik bazy (załóżmy, że nazywa się baza.gdb)
- odpalasz TD
- nowy projekt
- na formę kładziesz TSQLConnection
- klikasz na niego dwa razy i ustawiasz tak
- w OI zmieniasz VendorLib na fbclient.dll
- na formę dajesz buttona
- w on click dajesz
con1.Connected := True;
- zapisujesz projekt we wcześniej stworzonym katalogu
- kompilujesz i uruchamiasz
- klikasz buttona
15 jak nie ma błędu to masz połączenie
u mnie działa
Dzięki Ci. Dzięki, dzięki, dzięki... Nareszcie działa :D
Mam jeszcze jedno pytanko. Jest możliwe napisanie takiego programu, który tworzy bazy Firebird'a za pomocą tych bibliotek embedded??
z embedded jeszcze nie próbowałem, ale powinno się dać. Jedynie nie wiem czy dbexpress na to pozwala.
Z IBXami robi się to tak:
try
with IBDatabase1 do
begin
Params.Clear;
SQLDialect:=3;
DatabaseName:='ścieżka i nazwa pliku bazy'; //tam zostanie utworzona nowa baza
Params.Add('PAGE_SIZE 4096');
Params.Add('USER "sysdba"');
Params.Add('PASSWORD "masterkey"');
Params.Add('DEFAULT CHARACTER SET WIN1250');
CreateDatabase;
end; // with
except
//błąd
end;
i reszta przy użyciu T*Query
No to chyba nie pozwala albo to lekko inaczej wyglada :/
A zna ktoś może jakiś kurs SQL dla Firebird bo ten SQL co ja używam to chyba jest niepoprawny :/ albo znowu coś robie źle :|
Piasiu napisał(a)
A zna ktoś może jakiś kurs SQL dla Firebird bo ten SQL co ja używam to chyba jest niepoprawny :/ albo znowu coś robie źle :|
ściągnij sobie manuale (w pdf) ze strony FB - masz tam min. InterBase 6 SQL Reference
THX!
A już takie szybkie goopie pytanie. Czy w bazie Firebird nie ma czegoś takiego jak AUTO_INCREMENT ?
po polsku to się zwie wyzwalacz + generator a po angielsku trigger + generator
O, trigger. To coś czego brak w MySQLu [green]
No to dzieki za wszystko. Teraz to chyba sobie już poradze - nawet z tym auto_increment (triggerami).
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.