Połączenia zdalne za pomocą ADOConnection

0

Witam serdecznie.
Mój problem dotyczy połączenia zdalnego, otóż łączę się za pomocą ADOConnection do bazy PostgresSQL i wszystko jest w porządku do czasu kiedy muszę połączyć się zdalnie przez TCP/IP.

Przykład połączenia:

DB_Connect : TADOConnection;
DB_Connect := TADOConnection.Create(Connect);
DB_Connect.ConnectionString := 'Provider=PostgreSQL.1;Password=postgresql;User ID=postgres;Data Source=192.168.2.3;Location="postgres";Extended Properties=""';

Połączenie jest negocjowane dynamicznie za pomocą biblioteki DLL:

function ConnectDB(DB_Connect : TADOConnection; plik, plik_pack : String) : Boolean;
  procedure Polacz(DB_Connect : TADOConnection; plik : String);
  begin
    DB_Connect.ConnectionString := 'Provider=PostgreSQL.1;Password='+GetConnect(plik, 'haslo')+';User ID='+GetConnect(plik, 'login')+';Data Source='+GetConnect(plik, 'host')+';Location="postgres";Extended Properties=""';
    DB_Connect.KeepConnection := True;
    DB_Connect.LoginPrompt := False;
    DB_Connect.Connected := True;
  end;
begin
  if FileExists(plik) then Polacz(DB_Connect, plik) else
  begin
    OpenConnect(plik, plik_pack); // procedura ustawiająca atrybutu połączenia
    Polacz(DB_Connect, plik); // połączenie z bazą
  end;
  Result := DB_Connect.Connected;
end;

Pokusiłem się o zainstalowanie sterowników odbc(PostgreSQLa) na komputerze zdalnym i nie wiem co dalej. po prostu nie działa.

0

napisz albo podaj jakiś prinscr komunikatu jaki ci wywala

0

Już sobie poradziłem,
Gdyby kogoś interesowało wyjaśniam jak to zrobić:

Należy ściągnąć psqlodbc z: http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fodbc%2Fversions%2Fdll%2Fpsqlodbc_08_03_0100.zip

oraz biblioteke <url>PgOleDb.dll</url> z: http://pgfoundry.org/frs/?group_id=1000085&release_id=539

  1. psqlodbc rozpakować do folderu C:\windows\system32
    Dalej plikiem psqlodbc.reg rejestrujemy biblioteki w ODBC
  2. PgOleDb.dll rozpakować do folderu C:\windows\system32
    Dalej wybieramy start -> uruchom i wpisujemy w lini poleceń:
    a). regsvr32.exe libpq.dll
    b). regsvr32.exe /s PgOleDb.dll
  3. Cieszymy się połączeniem zdalnym dzięki odbc.
  4. Należy pamiętać aby postgresql był prawidłowo ustawiony (aby negocjował połączenie zdalnie) np: w pliku: pg_hba.conf należy ustawić parametry dla karty sieciowej, u mnie to wygląda następująco:

host all all 127.0.0.1/32 md5 # dla serwera
host all all 192.168.2.1/24 md5 # dla klienta całej klasy 192.168.2.255

  1. należy pamiętać jeszcze o skonfigurowaniu ewentualnego firewola aby przepuszczał domyślny port 5432.

W przypadku innych pytań proszę się kontaktować na nr gg:1296064

</url>

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