【发布时间】:2013-12-13 11:20:15
【问题描述】:
我尝试使用 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 有效。
【问题讨论】:
-
您可以使用相同的凭据从同一台机器连接,而不是使用 C 代码吗?
-
你有什么例外吗?
-
查看OCI_Initialize的返回码
-
我收到了 ORA-12154。我需要设置任何路径吗? tnsnames.ora 有效。