嘿,我正在尝试使用postgres连接到数据库
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
int main(int argc, char* argv[])
{
//Start connection
PGconn* connection = PQconnectdb("host=webcourse.cs.nuim.ie dbname=cs621 sslmode=require user=ggales password=1234");
if (PQstatus(connection) ==CONNECTION_BAD)
{
printf("Connection errorn");
PQfinish(connection);
return -1; //Execution of the program will stop here
}
printf("Connection okn");
//End connection
PQfinish(connection);
printf("Disconnectedn");
return 0;
}
我一直得到这个编译错误:
main.c: In function ‘main’:
main.c:9:35: warning: missing terminating " character [enabled by default]
main.c:9:2: error: missing terminating " character
main.c:10:2: error: ‘dbname’ undeclared (first use in this function)
main.c:10:2: note: each undeclared identifier is reported only once for each function it appears in
main.c:10:9: error: ‘cs621’ undeclared (first use in this function)
main.c:10:15: error: expected ‘)’ before ‘sslmode’
main.c:10:56: warning: missing terminating " character [enabled by default]
main.c:10:15: error: missing terminating " character
main.c:16:1: error: expected ‘,’ or ‘;’ before ‘}’ token
main.c:16:1: error: expected declaration or statement at end of input
有人知道为什么会这样吗?
谢谢。
您的代码编译得很好。如果我把它粘贴到x.c
,我可以编译它没有问题:
gcc -I /usr/pgsql-9.2/include -L /usr/pgsql-9.2/lib x.c -lpq
您可以使用64位libpq。Lib中的32位程序。您可以使用32位的libpq。或者将您的平台更改为x64。
32位客户端+ 64位服务器不能正常工作