PostgreSQL i ADO

0

Witam postawiłem sobie serwer PostgreSQL stworzyłem na nim baze "test" w niej utworzyłem tabele "pracownicy" i probuję się połączyć z bazą "test" za pomocą ADOConnection , połączenie nawiązuje ale z samym serwerem nie bazą wydaje mi się ze dla tego ze nie mam wypełnionych tych pól ale nie mam pojęcia co wstawić w nich proszę o pomoc :

Data Source="nazwa hosta";
Location="nazwa bazy";

Rozwiązanie :

0

Powyższe już rozwiązałem. Teraz przy otwarciu zapytania wywala mi taki błąd : "query returned unhandled type 18" poniżej daje kod procedur :

procedure TForm1.Select(pytanie:string; ADOQuery:TADOQuery);

begin
    ADOQuery.Close;               
    ADOQuery.SQL.Clear;            
    ADOQuery.SQL.Add(pytanie);   
    ADOQuery.Open;                
end;


Select('select * from pracownicy;', Form1.ADOQuery1);

Czemu nie moge wyświetlić w DBgrid danych zwróconych w select ??

Mam komponenety powiązane w następujący sposób:

ADOQuery1.connection -> ADOConnection1
Datasource1.dataset->ADOQuery1
Dbgrid1.datasource->Datasource1

Spotkał się może ktoś z was z tym błędem bo może to jakaś pierdoła a ja nie mam pojęcia co robie źle ??

0

:-) Dobra problem rozwiązany [browar] :-)

Podaje rozwiązanie i przyczynę problemu :

Przyczyną była sterownik umożliwiający dostęp do bazy danych.

Rozwiązanie :

Wystarczy pobrać najnowsze wersje sterowników : PgOleDb-1.0.0.20.zip z adresuhttp://ftp.man.poznan.pl/postgresql/projects/pgFoundry/oledb/ (gdyby adres przestał istnieć piszcie na PW to podeśle na maila).

Biblioteki PGOLEDB.DLL LIBPQ.DLL wgrać do katalogu głównego Windowsa.
Dodać wpis do rejestru : Start -> Uruchom -> regsvr32 PGOLEDB.DLL.

[!!!] Uwaga [!!!]

[!!!] Sterowniki te są przeznaczone dla wersji PostgreSQL 7.4 i wyższych

[!!!] Podczas instalacji PostgreSQL dla Windows należy odznaczyć należy odznaczyć w Database drivers OLEDB Provider (ja odznaczyłem również ODBC driver.

I możemy się cieszyć dostępem z Delphi do naszych tabel :)

0

Nic nie trzeba samodzielnie ściągać i rejestrować. Wystarczy uruchomić "Application Stack Builder" z Menu Start, odznaczyć PgOleDB kliknąć dalej, wybrać serwer (mirror) i to wszystko. Aplikacja sama ściągnie i zainstaluje brakujące komponenty.

0
Darek S napisał(a)

Nic nie trzeba samodzielnie ściągać i rejestrować. Wystarczy uruchomić "Application Stack Builder" z Menu Start, odznaczyć PgOleDB kliknąć dalej, wybrać serwer (mirror) i to wszystko. Aplikacja sama ściągnie i zainstaluje brakujące komponenty.

Tylko że u klienta np. któremu podarowaliśmy aplikację nie będziemy instalować przez Application Stack Builder

tylko puśmcimy 2 pliki w naszej instalce + cmd

lub

Biblioteki PGOLEDB.DLL LIBPQ.DLL wgrać do katalogu głównego Windowsa.
Dodać wpis do rejestru : Start -> Uruchom -> regsvr32 PGOLEDB.DLL.

Po instalacji naszego programu
<start.cmd>
@echo OFF
COPY X:\MYDIR\PGOLEDB.DLL %WINDIR%\SYSTEM32
COPY X:\MYDIR\LIBPQ.DLL %WINDIR%\SYSTEM32
regsvr32 PGOLEDB.DLL
ECHO INSTACJA ZAKONCZONA
PAUSE>NUL
<start.cmd>

Pozdrawiam

0

A nie lepiej skorzystać z dedykowanych bibliotek do postgresa np. z darmowej ZEOS lub płatnego PostgreDac ?

0
januszc napisał(a)

A nie lepiej skorzystać z dedykowanych bibliotek do postgresa np. z darmowej ZEOS lub płatnego PostgreDac ?

Może i lepiej, tyle że (tu nie wiem z jakiego delphi kolega korzysta) np. w TurboDelphi Explorer nie można zainstalować/ doinstalować sobie komponentów IDE (w tym zeosa), tylko trzeba w kodzie tworzyć komponenty.
Czasami łatwiej operować na gotowych komponentach.

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