2

C++ クライアントを PostgreSQL DB に接続しようとしています。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;
}
4

1 に答える 1

0

ODBC を使用して Windows から PostgreSQL に接続するときは、DSN レスのアプローチを使用しました。ユーザーの観点からの入力は不要です。ユーザーは、ODBC とは何か、ODBC ソース (DSN) の構成方法を知る必要はありません。

DSN なしの接続を使用する一般的な方法は、ODBC 接続文字列として次のような文字列を使用することです。

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

ドライバー名は、バージョンと ANSI と Unicode のフレーバーに応じて調整する必要がある場合があることに注意してください。

于 2012-12-23T07:55:06.857 に答える