Mikołaj Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 Witam W php do łączenia z dowolną bazą danych można wykorzystać np ADODB, ma też swoje wbudowane funkcje update, getall itd itp. Szukam czegoś takiego ale dla C++. Musi się łączyć z MySQL i PostreSQL i oczywiście liczy się jak najlepsza wydajność takiego rozwiązania. Oczywiście też dobrze żeby była do tego dobra dokumentacja, żeby się nie zajechać przy tym. Jak na razie znalazłem coś takiego: http://hk-classes.sourceforge.net/ i http://libdbi.sourceforge.net/. Ktoś korzystał z jakiejś biblioteki uprzyjemniającej połączenia z bazami danych? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 http://soci.sourceforge.net/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Mikołaj Napisano Lipiec 19, 2009 Autor Zgłoszenie Share Napisano Lipiec 19, 2009 Na pierwszy rzut oka wygląda przyjemnie. Pisałeś coś z użyciem tego? bo pierwsze pytanie jaki mi się nasuwa, to gdzie tam się podaje adres serwera do którego chce się połączyć, bo jakoś nie do końca jest to widoczne na przykładach. Jeszcze pytanie jak się sprawa ma z wydajnością, chociaż z racji tego że wygląda na prostą bibliotekę, wydajność powinna być dość wysoka. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 Połączenie: http://soci.sourceforge.net/doc/basics.html Jak jeszcze w c++ pisałem, to próbowałem swoich sił z tą biblioteką i nawet coś mi zaczęło wychodzić. Niestety do linq to sql z .net frameworka się to nie umywa Co do wydajności, to ja się nie mogę wypowiedzieć. Podejrzewam, że na oficjalniej liście mailingowej już ktoś ten temat poruszył, więc możesz poszukać. http://sourceforge.net/mailarchive/forum.p...name=soci-users Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
fafig Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 pewnie jak kazda biblioteka wrapujaca ma pewien narzut wydajnosci. ja uzywalem tylko czesciowo hibernate i jdbc. no i roznica jakas jest, ale wiadomo za wygode sie placi. mimo wszystko jednak sadze ze w c++ moze byc troche szybciej niz w javie. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Mikołaj Napisano Lipiec 19, 2009 Autor Zgłoszenie Share Napisano Lipiec 19, 2009 no chodzi też o to żeby było wydajne, co do funkcjonalności i wygody, hmm, myślę że to wystarczy ;] co do połączenia: session sql(oracle, "service=orcl user=scott password=tiger"); to gdzie tu wstawić adres serwera ? w service? bo to jedyne miejsce gdzie bym to wstawiał ------- edit jeszcze jedno pytanie, kiedyś miałem ten problem, doinstalowałem co trzeba i działało, teraz znowu mam to samo i nie pamiętam co miałem zrobić .... mianowicie, nie mam bibliotek iostreams, cstdlib itp .... jaka paczka za to odpowiada w Fedorze 11? juz godzinę po pakietach wertuję i nic mi się nie przypomina ;/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 [...]nie mam bibliotek iostreams, cstdlib itp .... jaka paczka za to odpowiada w Fedorze 11? juz godzinę po pakietach wertuję i nic mi się nie przypomina ;/ yum provides */iostream Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lszk Napisano Lipiec 19, 2009 Zgłoszenie Share Napisano Lipiec 19, 2009 http://soci.sourceforge.net/doc/backends/m...html#connecting Masz tam The set of parameters used in the connection string for MySQL is: * dbname or db (required) * user * password or pass * host * port * unix_socket Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Mikołaj Napisano Lipiec 19, 2009 Autor Zgłoszenie Share Napisano Lipiec 19, 2009 dzięki WalDo, znalazłem brakowało tego compat-gcc-34-c++, tylko jeszcze muszę symlinki zrobić bo w include se zrobiło folder c++ no ale to tylko szczegół. lszk dzięki za opis, szkoda że go nie mieli gdzieś od razu na widoku, myślę że dla postgresql jest to samo. Swoją drogą raczej wybiorę inną bibliotekę, bo poszukałem na tej liscie mailingowej testów soci no znalazłem: http://art-blog.no-ip.info/cppcms/blog/post/12 (swoją droga ciekawy projekt gostek robi), wyszło na to że bardziej wydajne od soci jest dbi, bądź jak ktoś lubi soci to dbxx (trochę wolniejsze od dbi ale szybsze od soci) jako, że poszedłem jeszcze dalej to znalazłem taki test: http://logweaver.org/doc/index.php/OpenDBX/Comparison (i wyszło że openDBX jest szybszy od dbi i niewiele wolniejszy od MySQL native, jeszcze tylko muszę testy z postgresql'em poszukać) Więc jak na razie najszybszy okazuje się OpenDBX, na pierwszy rzut oka (mojego ;]) nie taki przyjemny jak soci, ale też nie takie złe, poczytam dokumentację i będzie ok ;] Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Lipiec 20, 2009 Zgłoszenie Share Napisano Lipiec 20, 2009 [...] brakowało tego compat-gcc-34-c++, tylko jeszcze muszę symlinki zrobić bo w include se zrobiło folder c++ no ale to tylko szczegół.Wg mnie nowsza i przez jak sądzę bardziej kompatybilna z gcc 4.x wersja jest w libstdc++-devel (/usr/include/c++/4.3.2/iostream) Ale nie znam się za bardzo. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 20, 2009 Zgłoszenie Share Napisano Lipiec 20, 2009 Starsze programy wymagają takich paczek jak compat-gcc-34-c++ bo są mocno "zakurzone". Nie wnikałem nigdy o co chodzi, ale to jest jakiś "pomost" zapewniający kompatybilność ze starym gcc, który przetwarza instrukcje między współczesnym systemem, a instrukcjami zrozumiałymi dla starego programu. Czy jakoś tak Jest też druga opcja: przepisać program na nowo. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Mikołaj Napisano Lipiec 20, 2009 Autor Zgłoszenie Share Napisano Lipiec 20, 2009 jeszcze nie mam co przepisywać na nowo, ale też mi będzie chodziło o kompatybilność z innymi, no ale to se już dogadamy. WalDo, masz rację nie wiedziałem że w include jest folder c++/wersja/, nie wiem po co oni to wrzucili do tego folderu, a jeszcze w dodatku szukałem złej nazwy pliku i nie znalazłem tego. Dobra temat z bibliotekami standardowymi można zakończyć, jak ktoś ma jeszcze jakieś uwagi i sugestie do bazy danych to bardzo chętnie poczytam ;] Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się