Depuis Oracle site Web, voici un exemple valide :
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);
Votre code semble aller dans le bon sens. Il semble donc que certaines librairies manquent !
Encore une fois, à partir d'une page différente sur le site Web d'Oracle , voici les librairies nécessaires :
- Bibliothèque partagée de données OCI Instant Client (libocei.so sous Linux et UNIX et oraociei12.dll sous Windows); une installation correcte de ce fichier détermine si vous travaillez en mode Instant Client
- Bibliothèque de codes clients (libclntsh.so.12.2 sous Linux et UNIX et oci.dll sous Windows)
- Bibliothèque de sécurité (libnnz12.so sous Linux et UNIX et orannzsbb12.dll sous Windows)
- Bibliothèque OCCI (libocci.so.12.2 sous Linux et UNIX et oraocci12.dll sous Windows)
Assurez-vous que ces bibliothèques sont installées sur votre machine.