- 论坛徽章:
- 0
|
关键是要搞清楚occi连接串格式,给你一个连接示例:
ez_bool_t CDBManager_oracle::OnDBOpen(const char *dbname,
const char *ip,
const char *port,
const char *username,
const char *password,
const char *charset)
{
char connectString[256];
//the connect string parameter format is 'host:port/database'.
snprintf(connectString, sizeof(connectString), "%s:%s/%s", ip, port, dbname);
try {
if (charset && strlen(charset) > 0)
m_Env = Environment::createEnvironment(charset, "UTF8", Environment::OBJECT);
else
m_Env = Environment::createEnvironment(Environment::OBJECT);
m_Conn = m_Env->createConnection(username, password, connectString);
m_Stmt = m_Conn->createStatement();
m_Stmt->setAutoCommit(TRUE);
} catch (SQLException &e) {
SetErrMsg("%d: %s", e.getErrorCode(), e.getMessage().c_str());
if (m_Stmt) m_Conn->terminateStatement(m_Stmt);
if (m_Conn) m_Env->terminateConnection(m_Conn);
if (m_Env) Environment::terminateEnvironment(m_Env);
return FALSE;
}
try {
m_Stmt->setSQL("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS'");
m_Stmt->executeUpdate();
m_Stmt->setSQL("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'");
m_Stmt->executeUpdate();
} catch (SQLException &e) {
SetErrMsg("%d: %s", e.getErrorCode(), e.getMessage().c_str());
if (m_Stmt) m_Conn->terminateStatement(m_Stmt);
if (m_Conn) m_Env->terminateConnection(m_Conn);
if (m_Env) Environment::terminateEnvironment(m_Env);
return FALSE;
}
return TRUE;
} |
|