Oracleの から ウェブサイト、ここに有効な例があります:
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);
あなたのコードは正しい方向にあるようです。そのため、一部のライブラリが欠落しているようです!
繰り返しになりますが、OracleのWebサイトの別のページ から 、必要なライブラリは次のとおりです:
- OCIインスタントクライアントデータ共有ライブラリ( libociei.so LinuxとUNIXの場合、およびWindowsの場合はoraociei12.dll)。このファイルを正しくインストールすると、インスタントクライアントモードで操作しているかどうかが決まります
- クライアントコードライブラリ( libclntsh.so.12.2 LinuxとUNIXの場合、およびWindowsの場合はoci.dll)
- セキュリティライブラリ( libnnz12.so LinuxとUNIXの場合、およびWindowsの場合はorannzsbb12.dll)
- OCCIライブラリ( libocci.so.12.2 LinuxとUNIXの場合、およびWindowsの場合はoraocci12.dll)
これらのライブラリがマシンにインストールされていることを確認してください。