allow to use db_hostaddr, db_port or db_conn_string config parameters to connect to PostgreSQL

This commit is contained in:
2022-04-20 18:37:52 +02:00
parent 7a115a3970
commit aae93d018b
6 changed files with 68 additions and 10 deletions

View File

@@ -64,9 +64,22 @@ PGconn * DbConn::GetPgConn()
}
void DbConn::SetConnParam(const std::wstring & d, const std::wstring & u, const std::wstring & p)
void DbConn::SetConnParam(const std::wstring & conn_string)
{
db_conn_string = conn_string;
db_host.clear();
db_port.clear();
db_database.clear();
db_user.clear();
db_pass.clear();
}
void DbConn::SetConnParam(const std::wstring & host, const std::wstring & port, const std::wstring & d, const std::wstring & u, const std::wstring & p)
{
db_conn_string.clear();
db_host = host;
db_port = port;
db_database = d;
db_user = u;
db_pass = p;
@@ -81,9 +94,26 @@ void DbConn::Connect()
conn_info.Clear();
conn_info.SetExtented(false);
conn_info << R("dbname=") << db_database
<< R(" user=") << db_user
<< R(" password=") << db_pass;
if( !db_conn_string.empty() )
{
conn_info << R(db_conn_string);
}
else
{
conn_info << R("dbname=") << db_database
<< R(" user=") << db_user
<< R(" password=") << db_pass;
if( !db_host.empty() )
{
conn_info << R(L"hostaddr=") << db_host;
}
if( !db_port.empty() )
{
conn_info << R(L"port=") << db_port;
}
}
pg_conn = PQconnectdb(conn_info.CStr());