Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > PostgreSQL
Перезагрузить страницу Коннект к PostgresSQL
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию Коннект к PostgresSQL - 04.02.2005, 00:53

Как получить доступ к БД под PostgresSQL с удаленной машины, чтоб можно было писать клиентские приложения?
Ответить с цитированием
  (#2 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию Коннект к PostgresSQL - 04.02.2005, 00:53

Как получить доступ к БД под PostgresSQL с удаленной машины, чтоб можно было писать клиентские приложения?
Ответить с цитированием
  (#3 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию Коннект к PostgresSQL - 04.02.2005, 00:53

Как получить доступ к БД под PostgresSQL с удаленной машины, чтоб можно было писать клиентские приложения?
Ответить с цитированием
  (#4 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию Коннект к PostgresSQL - 04.02.2005, 00:53

Как получить доступ к БД под PostgresSQL с удаленной машины, чтоб можно было писать клиентские приложения?
Ответить с цитированием
  (#5 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 05.02.2005, 00:23

Код:
#include <postgresql/libpq-fe.h>    // Debian environment.
//#include <pgsql/libpq-fe.h>       // RedHat environment.

........

 PGconn      *conn;
 PGresult    *res;
 int       nrows, ncol;
 char        s[ 100 ];

// ------------------------

 conn = PQsetdbLogin("127.0.0.1", "5432", "", "", "she", "she", "" );
// т.е. ( "сервер",  "порт", "", "", 
//           "база данных", "пользователь", "пароль")

       if ( conn == NULL )
        {
         printf("... плохо...");
                 exit( 1 );
        }

 if( PQstatus( conn ) != CONNECTION_OK )
  {
   printf("n%sn", PQerrorMessage( conn ) );
                  goto bad;
  }

// ------------------------

 res = PQexec( conn, "select * from scconfig1 order by oldcommi" );
       if ( res == NULL )
        {
         printf("...плохо...");
         printf("n%sn", PQerrorMessage( conn ) );
                                  goto bad;
        }

 if( PQresultStatus( res ) == PGRES_TUPLES_OK )
   {
    nrows = PQntuples( res );
    ncol = PQnfields( res );

    for( i = 0; i < nrows; i ++ )
     {
      for( j = 0; j < ncol; j ++ )
       {
        strcpy( s, PQfname( res, j ) ); // выборка имени j-го столбца

                                                    // дальше выборка значений 
                                                    //    для столбцов  i-ой строки
        if( strcmp( s, "point" ) == 0 )   strcpy( ident, PQgetvalue( res, i, j ) );
        if( strcmp( s, "subpoint" ) == 0 )     n = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "oldcommi" ) == 0 )   old = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "commiaddr" ) == 0 ) addr = atoi( PQgetvalue( res, i, j ) );
       }
          ..............................................
     }
  }
 else
  {
   printf("n%sn", *PQresultErrorMessage( res ) );
                  goto bad;
  }

// ------------------------

 PQclear( res );
 PQfinish( conn );
 return;

bad:

 PQclear( res );
 PQfinish( conn );
 exit( 1 );
}

Для удаленного доступа к Postrgres таким способом адрес клиентской машины должен быть прописан в его конфигурации. Если это невозможно, можно общаться с БД через psql-клиента.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 05.02.2005, 00:23

Код:
#include <postgresql/libpq-fe.h>    // Debian environment.
//#include <pgsql/libpq-fe.h>       // RedHat environment.

........

 PGconn      *conn;
 PGresult    *res;
 int       nrows, ncol;
 char        s[ 100 ];

// ------------------------

 conn = PQsetdbLogin("127.0.0.1", "5432", "", "", "she", "she", "" );
// т.е. ( "сервер",  "порт", "", "", 
//           "база данных", "пользователь", "пароль")

       if ( conn == NULL )
        {
         printf("... плохо...");
                 exit( 1 );
        }

 if( PQstatus( conn ) != CONNECTION_OK )
  {
   printf("n%sn", PQerrorMessage( conn ) );
                  goto bad;
  }

// ------------------------

 res = PQexec( conn, "select * from scconfig1 order by oldcommi" );
       if ( res == NULL )
        {
         printf("...плохо...");
         printf("n%sn", PQerrorMessage( conn ) );
                                  goto bad;
        }

 if( PQresultStatus( res ) == PGRES_TUPLES_OK )
   {
    nrows = PQntuples( res );
    ncol = PQnfields( res );

    for( i = 0; i < nrows; i ++ )
     {
      for( j = 0; j < ncol; j ++ )
       {
        strcpy( s, PQfname( res, j ) ); // выборка имени j-го столбца

                                                    // дальше выборка значений 
                                                    //    для столбцов  i-ой строки
        if( strcmp( s, "point" ) == 0 )   strcpy( ident, PQgetvalue( res, i, j ) );
        if( strcmp( s, "subpoint" ) == 0 )     n = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "oldcommi" ) == 0 )   old = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "commiaddr" ) == 0 ) addr = atoi( PQgetvalue( res, i, j ) );
       }
          ..............................................
     }
  }
 else
  {
   printf("n%sn", *PQresultErrorMessage( res ) );
                  goto bad;
  }

// ------------------------

 PQclear( res );
 PQfinish( conn );
 return;

bad:

 PQclear( res );
 PQfinish( conn );
 exit( 1 );
}

Для удаленного доступа к Postrgres таким способом адрес клиентской машины должен быть прописан в его конфигурации. Если это невозможно, можно общаться с БД через psql-клиента.
Ответить с цитированием
  (#7 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 05.02.2005, 00:23

Код:
#include <postgresql/libpq-fe.h>    // Debian environment.
//#include <pgsql/libpq-fe.h>       // RedHat environment.

........

 PGconn      *conn;
 PGresult    *res;
 int       nrows, ncol;
 char        s[ 100 ];

// ------------------------

 conn = PQsetdbLogin("127.0.0.1", "5432", "", "", "she", "she", "" );
// т.е. ( "сервер",  "порт", "", "", 
//           "база данных", "пользователь", "пароль")

       if ( conn == NULL )
        {
         printf("... плохо...");
                 exit( 1 );
        }

 if( PQstatus( conn ) != CONNECTION_OK )
  {
   printf("n%sn", PQerrorMessage( conn ) );
                  goto bad;
  }

// ------------------------

 res = PQexec( conn, "select * from scconfig1 order by oldcommi" );
       if ( res == NULL )
        {
         printf("...плохо...");
         printf("n%sn", PQerrorMessage( conn ) );
                                  goto bad;
        }

 if( PQresultStatus( res ) == PGRES_TUPLES_OK )
   {
    nrows = PQntuples( res );
    ncol = PQnfields( res );

    for( i = 0; i < nrows; i ++ )
     {
      for( j = 0; j < ncol; j ++ )
       {
        strcpy( s, PQfname( res, j ) ); // выборка имени j-го столбца

                                                    // дальше выборка значений 
                                                    //    для столбцов  i-ой строки
        if( strcmp( s, "point" ) == 0 )   strcpy( ident, PQgetvalue( res, i, j ) );
        if( strcmp( s, "subpoint" ) == 0 )     n = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "oldcommi" ) == 0 )   old = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "commiaddr" ) == 0 ) addr = atoi( PQgetvalue( res, i, j ) );
       }
          ..............................................
     }
  }
 else
  {
   printf("n%sn", *PQresultErrorMessage( res ) );
                  goto bad;
  }

// ------------------------

 PQclear( res );
 PQfinish( conn );
 return;

bad:

 PQclear( res );
 PQfinish( conn );
 exit( 1 );
}

Для удаленного доступа к Postrgres таким способом адрес клиентской машины должен быть прописан в его конфигурации. Если это невозможно, можно общаться с БД через psql-клиента.
Ответить с цитированием
  (#8 (permalink)) Старый
ssh ssh вне форума
Member
 
Сообщений: 245
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.12.2004
По умолчанию 05.02.2005, 00:23

Код:
#include <postgresql/libpq-fe.h>    // Debian environment.
//#include <pgsql/libpq-fe.h>       // RedHat environment.

........

 PGconn      *conn;
 PGresult    *res;
 int       nrows, ncol;
 char        s[ 100 ];

// ------------------------

 conn = PQsetdbLogin("127.0.0.1", "5432", "", "", "she", "she", "" );
// т.е. ( "сервер",  "порт", "", "", 
//           "база данных", "пользователь", "пароль")

       if ( conn == NULL )
        {
         printf("... плохо...");
                 exit( 1 );
        }

 if( PQstatus( conn ) != CONNECTION_OK )
  {
   printf("n%sn", PQerrorMessage( conn ) );
                  goto bad;
  }

// ------------------------

 res = PQexec( conn, "select * from scconfig1 order by oldcommi" );
       if ( res == NULL )
        {
         printf("...плохо...");
         printf("n%sn", PQerrorMessage( conn ) );
                                  goto bad;
        }

 if( PQresultStatus( res ) == PGRES_TUPLES_OK )
   {
    nrows = PQntuples( res );
    ncol = PQnfields( res );

    for( i = 0; i < nrows; i ++ )
     {
      for( j = 0; j < ncol; j ++ )
       {
        strcpy( s, PQfname( res, j ) ); // выборка имени j-го столбца

                                                    // дальше выборка значений 
                                                    //    для столбцов  i-ой строки
        if( strcmp( s, "point" ) == 0 )   strcpy( ident, PQgetvalue( res, i, j ) );
        if( strcmp( s, "subpoint" ) == 0 )     n = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "oldcommi" ) == 0 )   old = atoi( PQgetvalue( res, i, j ) );
        if( strcmp( s, "commiaddr" ) == 0 ) addr = atoi( PQgetvalue( res, i, j ) );
       }
          ..............................................
     }
  }
 else
  {
   printf("n%sn", *PQresultErrorMessage( res ) );
                  goto bad;
  }

// ------------------------

 PQclear( res );
 PQfinish( conn );
 return;

bad:

 PQclear( res );
 PQfinish( conn );
 exit( 1 );
}

Для удаленного доступа к Postrgres таким способом адрес клиентской машины должен быть прописан в его конфигурации. Если это невозможно, можно общаться с БД через psql-клиента.
Ответить с цитированием
  (#9 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 05.02.2005, 00:42

спасибо, но, наверно, я не точно поставил вопрос. Уточнаяю:
есть сервер, на котором поднят PostgresSQL, у меня стоит задача написать приложение наботающее под Windows на языке VC++. Где мне взять драйвер для этой СУБД-хи?
Ответить с цитированием
  (#10 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 05.02.2005, 00:42

спасибо, но, наверно, я не точно поставил вопрос. Уточнаяю:
есть сервер, на котором поднят PostgresSQL, у меня стоит задача написать приложение наботающее под Windows на языке VC++. Где мне взять драйвер для этой СУБД-хи?
Ответить с цитированием
  (#11 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 05.02.2005, 00:42

спасибо, но, наверно, я не точно поставил вопрос. Уточнаяю:
есть сервер, на котором поднят PostgresSQL, у меня стоит задача написать приложение наботающее под Windows на языке VC++. Где мне взять драйвер для этой СУБД-хи?
Ответить с цитированием
  (#12 (permalink)) Старый
Eugene_ Eugene_ вне форума
Member
 
Сообщений: 70
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 05.02.2005, 00:42

спасибо, но, наверно, я не точно поставил вопрос. Уточнаяю:
есть сервер, на котором поднят PostgresSQL, у меня стоит задача написать приложение наботающее под Windows на языке VC++. Где мне взять драйвер для этой СУБД-хи?
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Olesya Olesya вне форума
Member
 
Сообщений: 1,485
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.06.2002
По умолчанию 07.02.2005, 21:37

Скачать PG в исходниках.
Скомпилить библиотечку (находится в поддир. ./src/interfaces/libpq)
Ответить с цитированием
  (#14 (permalink)) Старый
Olesya Olesya вне форума
Member
 
Сообщений: 1,485
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.06.2002
По умолчанию 07.02.2005, 21:37

Скачать PG в исходниках.
Скомпилить библиотечку (находится в поддир. ./src/interfaces/libpq)
Ответить с цитированием
  (#15 (permalink)) Старый
Olesya Olesya вне форума
Member
 
Сообщений: 1,485
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.06.2002
По умолчанию 07.02.2005, 21:37

Скачать PG в исходниках.
Скомпилить библиотечку (находится в поддир. ./src/interfaces/libpq)
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не коннект( Morgen090909 Сетевые подключения 0 14.03.2009 03:29
Коннект к TFS из ASP.NET приложения ДедПихто .NET 11 16.02.2009 21:15
Коннект к базе данных Freemanson PHP 2 16.12.2007 14:57
Коннект к MySQL ADO через ODBC eugira MySQL 0 07.11.2007 15:40
Забит коннект не понятно чем imported_MasterX Офтопик 5 18.10.2004 12:18



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов