Firebird Embedded

0

Jak uzyc firebird embedded?

0

ban na google???

do kosza

0

No nikt nie napisze mi jak polaczyc sie z ta baza? Tylko mi nie mowice ze nikt tego nie robil.
Z gory dzieki.

0
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

0

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.

0

IntrBase i FireBird to nie to samo, w szczególności driver pod dbexpress z interbasea nie pasuje do firebirda

0

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.

0
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.

0
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?

0
  1. ściągasz http://www.ibphoenix.com/main.nfs?page=ibp_60_odbc
  2. instalujesz
  3. odpalasz delphi
  4. na formę dajesz TADOConnection
  5. klikasz na niego dwa razy
  6. wybierasz Use Connection String
  7. klikasz build
  8. wybierasz Microsoft OLE DB Provider for ODBC Drivers
  9. wybierasz Użyj ciągu połączeń
  10. klikasz Konstruuj
  11. wybierasz Komputerowe źródła danych
  12. Nowe
  13. Źródło danych użytkownika
  14. Dalej
  15. FireBird / Interbase(r) Driver
  16. Zakończ
  17. user image
  18. OK
  19. wybierasz źródło, które przed chwilą stworzyłeś
  20. OK
    nie masz co testować połączenia bo działa ono tylko jak uruchomisz projekt - przy próbie aktywacji połączenia w Delphi dostaniesz user image
    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"

0
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.

0
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

0

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 :|

0

dobra jak Ci teraz nie wyjdzie to ja wymiękam

  1. ściągasz IBExpert - tam tworzysz sobie bazę
  2. ściągasz FBEbedded http://prdownloads.sourceforge.net/firebird/Firebird-1.5.3.4870-0_embed_win32.zip
  3. tworzysz katalog gdzieś :p (załóżmy, że ten katalog to c:\test)
  4. do tego katalogu kopiujesz plik fbembed.dll i zmieniasz mu nazwę na fbclient.dll oraz plik bazy (załóżmy, że nazywa się baza.gdb)
  5. odpalasz TD
  6. nowy projekt
  7. na formę kładziesz TSQLConnection
  8. klikasz na niego dwa razy i ustawiasz tak
    user image
  9. w OI zmieniasz VendorLib na fbclient.dll
  10. na formę dajesz buttona
  11. w on click dajesz
con1.Connected := True;
  1. zapisujesz projekt we wcześniej stworzonym katalogu
  2. kompilujesz i uruchamiasz
  3. klikasz buttona
    15 jak nie ma błędu to masz połączenie
    u mnie działa
0

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??

0

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

0

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 :|

0
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

0

THX!
A już takie szybkie goopie pytanie. Czy w bazie Firebird nie ma czegoś takiego jak AUTO_INCREMENT ?

0

po polsku to się zwie wyzwalacz + generator a po angielsku trigger + generator

0

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.