De Oracle site, aqui está um exemplo válido:
const string userName = "HR";
const string password = "password";
const string connectString = "";
Environment *env = Environment::createEnvironment();
{
Connection *conn = env->createConnection(userName, password, connectString);
Statement *stmt = conn->createStatement("SELECT blobcol FROM mytable");
ResultSet *rs = stmt->executeQuery();
rs->next();
Blob b = rs->getBlob(1);
cout << "Length of BLOB : " << b.length();
...
stmt->closeResultSet(rs);
conn->terminateStatement(stmt);
env->terminateConnection(conn);
}
Environment::terminateEnvironment(env);
Seu código parece estar na direção certa. Então, parece que algumas bibliotecas estão faltando!
Novamente, de uma página diferente no site da Oracle , aqui estão as bibliotecas necessárias:
- Biblioteca compartilhada de dados do Instant Client OCI (libocei.so no Linux e UNIX e oraociei12.dll no Windows); a instalação correta deste arquivo determina se você está operando no modo Instant Client
- Biblioteca de código do cliente (libclntsh.so.12.2 no Linux e UNIX e oci.dll no Windows)
- Biblioteca de segurança (libnnz12.so no Linux e UNIX e orannzsbb12.dll no Windows)
- Biblioteca OCCI (libocci.so.12.2 no Linux e UNIX e oraocci12.dll no Windows)
Certifique-se de que essas bibliotecas estejam instaladas em sua máquina.