我尝试用ocilib连接到oracle:
int oraconnect()
{
OCI_Connection* cn;
OCI_Statement* st;
OCI_Resultset* rs;
OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT);
cn = OCI_ConnectionCreate("user", "db", "pass", OCI_SESSION_DEFAULT);
st = OCI_StatementCreate(cn);
OCI_ExecuteStmt(st, "select foo_id from foo");
rs = OCI_GetResultset(st);
while (OCI_FetchNext(rs))
{
printf("%i ", OCI_GetInt(rs, 1));
//printf("%i - %s\n", OCI_GetInt(rs, 1), OCI_GetString(rs,2));
}
OCI_Cleanup();
return EXIT_SUCCESS;
}
我得到了ORA-12154
。我需要设置任何路径吗? tnsnames.ora有效。
答案 0 :(得分:1)
OCI_ConnectionCreate的第一个参数应该是连接字符串(tnsnames.ora的一个条目或一个简单的连接字符串)