[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 メーリングリストの案内