[pgsql-jp: 35764] ECPG による DB 接続について

oho @ software.sanix.jp oho @ software.sanix.jp
2005年 7月 29日 (金) 17:07:11 JST


大穂というものです。
初めて投稿させて頂きます。

今回助言を頂きたいのはECPGを用いてのpostgreSQL接続についてです。

開発環境は以下の通りです。
RedHat ES3
PostgreSQL 8.0.3

現象としてはコンパイルをしたときに下記のようなエラーがでます。
エラー文からDB接続を行う際にエラーがでていると推測しています。
DB接続に関してはマニュアルを参考にしたつもりですがうまくいきませんでした。

b.pgc: 関数 `main' 内:
b.pgc:14: 警告: 引数 2 個の `ECPGconnect' を渡しますにより、キャストなしでポ
インタから整数を作りました
b.pgc:14: 関数 `ECPGconnect' への引数が少なすぎます

ソースは下記のようなものです。
単にDB接続を確認したいだけのものにしているつもりです。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define BUFLEN 1024

exec sql include sqlca;
main()
{
exec sql begin declare section;

exec sql end declare section;

exec sql connect to dbname user username;

exec sql disconnect dbname;
}

コンパイルは下記のようにしています。
ecpg a.pgc

gcc -g -I/usr/local/pgsql/include a.c -o a -L/usr/local/pgsql/lib -lecpg
エラーはこのgcc〜を実行したときにでます。

pg_hba.confの設定は下記のように行っています。
# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
host    all             all             xx.xx.xx.0/24      trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

またpg_hba.confの設定変更後は以下のようにpostgresを再起動しています。
pg_ctl -D /data/pg_data -m f stop
pg_ctl -D /data/pg_data -o "-i" start
/data/pg_data はクラスタ領域です。

この現象はRedHat9からRedHat ES3に入れなおしてから起こるようになったもので、
RedHat9を使用していた時には正常にDB接続できていました。

以上のような問題でとても悩んでいます。
どなたかこの問題の解決策についてわかる方がいましたら
よろしくご教授いただけませんでしょうか。

つたない文章で大変申し訳ありませんでした。





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