Попытка использовать OTL для подключения к моему серверу PostgreSQL

Я пытаюсь подключить мой клиент C ++ к базе данных PostgreSQL. Я продолжаю получать otlv4.h | 12406 | неопределенную ссылку на `SQLFreeHandle @ 8 ‘и многие другие неопределенные ошибки ссылки.

Чтобы получить заголовочный файл, перейдите на http://otl.sourceforge.net/otl3_down.htm

#include <iostream>

using namespace std;

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// #define OTL_ODBC_UNIX // uncomment this line if UnixODBC is used
#define OTL_ODBC_ALTERNATE_RPC
#if !defined(_WIN32) && !defined(_WIN64)
#define OTL_ODBC
#else
#define OTL_ODBC_POSTGRESQL // required with PG ODBC on Windows
#endif
#include "otlv4.h" // include the OTL 4.0 header file

otl_connect db; // connect object

int main()
{

otl_connect::otl_initialize(); // initialize ODBC environment

db.rlogon("postgres/changeme@numbers");

db.commit();

cout << "Hello world!" << endl;

db.logoff(); // disconnect from ODBC
return 0;
}

2

Решение

Когда я подключался из Windows к PostgreSQL с использованием ODBC, я использовал подход без DSN. Это требует нулевого ввода с точки зрения пользователя — пользователю не нужно знать, что такое ODBC и как настроить источник ODBC (DSN).

Типичный способ использовать соединение без DSN — использовать строку, подобную приведенной ниже, в качестве строки подключения ODBC:

Driver=PostgreSQL;Server=hostname;Database=mypgdb;UID=username;PWD=password

Обратите внимание, что имя драйвера может нуждаться в корректировке в зависимости от версии и ANSI против разновидностей Unicode.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]