我试图用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有效。

最佳答案

OCI_ConnectionCreate的第一个参数应该是连接字符串(tnsnames.ora的条目或简单连接字符串)

10-07 19:08
查看更多