[pgsql-jp: 28035] AIX&unixODBCでエラー

Shigeyuki Sakurai hmc-sakurai @ milan.nri.co.jp
2002年 11月 20日 (水) 10:28:41 JST


はじめまして桜井と申します.

AIX上で,ODBCドライバマネージャにunixODBCを使い,PostgreSQLに
ODBCアクセスを試みていますが,libpsqlodbc.soのロードでエラーが
発生しています.

調べているのですが,どうもよくわかりません.
原因など知っておられる方が居ましたらご教授お願いいたします.

■環境
・OS: AIX5L(AIX4.3でも同様でした)
・CC: gcc-2.9.aix43.010216-1.aix5.1.ppc.rpm
・unixODBC: 2.2.3
・PostgreSQL: 7.2.3
・odbc.ini: ~/.odbc.ini

[ODBC Data Sources]
xxxDB = PostgreSQL

[xxxDB]
Driver          = /usr/local/pgsql/lib/libpsqlodbc.so
Host            = localhost
Servername      = localhost
Database        = xxxDB
ReadOnly        = no

■ODBCプログラム
省略していますが,以下のようなものです.
SQLConnectでエラーとなります.

#include <sql.h>
#include <sqlext.h>
main()
{
    HENV   henv;
    HDBC   hdbc;
    HSTMT  hstmt;

    SQLAllocEnv(&henv);
    SQLAllocConnect(henv, &hdbc);
    rc = SQLConnect(hdbc, "xxxDB", SQL_NTS, "postgres", SQL_NTS, "postgres", SQL_NTS);
    if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
        //  SQLError の情報を出力
    }
}

■make
・PostgreSQL
  % ./configure --enable-multibyte=EUC_JP --enable-odbc --with-CC=gcc
  % gmake
・unixODBC
  % ./configure --prefix=/home/postgres --enable-gui=no
  % gmake
・サンプルプログラム
  % gcc -g -O2 -o sample sample.c -I /home/postgres/include  -L/home/postgres/lib -lodbc

■実行結果
01000(0)[unixODBC][Driver Manager]Can't open lib '/usr/local/pgsql/lib/libpsqlodbc.so' :        0509-130 以下の原因で
/usr/local/pgsql/lib/libpsqlodbc.so のシンボル解決が失敗しました:
        0509-136   シンボル main (番号 63) は従属モジュール
                   sample1u からエクスポートされていません。
        0509-192 .loader セクションのシンボルを
                 'dump -Tv' コマンドで調べてください。

上記のようにエラーとなってしまいます.
iODBCでも試しましたが,同様の結果となっています.

よろしくお願いいたします.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Shigeyuki Sakurai




pgsql-jp メーリングリストの案内