Oracle C ++ Call Interface (OCCI) es una interfaz de programación de aplicaciones (API) que proporciona a las aplicaciones C ++ acceso a datos en una base de datos Oracle. en lo que respecta a la facilidad de uso. Los ingenieros que hayan escrito el código JDBC (Java Database Connectivity) encontrarán que la API OCCI es bastante similar a la de JDBC.
La tabla que se usa en el código de ejemplo es:
crear tabla EMP
(empno NUMBER,
- Tengo un US Nutribullet RX, ¿qué necesito para usarlo en España?
- Mi amigo es un graduado de B.SC y necesita un trabajo con urgencia. Sé que este no es el lugar para pedirlo, pero ¿alguien puede ayudarla a conseguir uno?
- Tengo un coeficiente intelectual de 133 Estoy en décimo, ¿es bueno?
- ¿Por qué quiero unirme al ejército irlandés? ¿Cuáles son las ventajas de unirse al ejército irlandés?
- Tengo 15 años y todavía tengo un cofre bastante plano. Ya comencé la pubertad. ¿Hay algo malo en mi?
esmalte VARCHAR2 (10),
fecha de contratación);
Consulta de base de datos
Este programa explica cómo seleccionar el contenido de la tabla EMP.
#include
#include
usando el espacio de nombres estándar;
usando el espacio de nombres oracle :: occi;
const string sqlString (“seleccione empno, ename, hiredate de emp”);
const string dateFormat (“DD-MON-AAAA HH24: MI: SS”);
int main (int argc, char ** argv)
{
si (argc! = 2)
{
cerr << "\ nUsage:" << argv [0] << " \ n” << endl;
salida (1);
}
string userName = argv [1];
// Inicializa OracleServices
DbManager * dbm = NULL;
OracleServices * oras = NULL;
Sentencia * stmt = NULL;
ResultSet * resultSet = NULL;
tratar
{
// Obtenga el objeto OracleServices con los argumentos predeterminados.
// Los argumentos predeterminados crean OracleServices con un entorno de
// Medio ambiente :: OBJETO | Medio ambiente :: THREADED_MUTEXED
dbm = nuevo DbManager (nombre de usuario);
oras = dbm-> getOracleServices ();
// Obtener una conexión en caché
Conexión * conn = oras-> conexión ();
// Crear una declaración
stmt = conn-> createStatement (sqlString);
int empno;
esmalte de cuerda;
Fecha de contratación Fecha;
string dateAsString;
// Ejecutar consulta para obtener un conjunto de resultados
resultSet = stmt-> executeQuery ();
while (resultSet-> next ())
{
empno = resultSet-> getInt (1); // obtener la primera columna devuelta por la consulta;
ename = resultSet-> getString (2); // obtener la segunda columna devuelta por la consulta
hireDate = resultSet-> getDate (3); // obtener la tercera columna devuelta por la consulta
dateAsString = “”;
// No puede verificar si es nulo hasta que se hayan leído los datos
if (resultSet-> isNull (1))
{
cout << "El número de empleado es nulo …" << endl;
}
if (resultSet-> isNull (2))
{
cout << "El nombre del empleado es nulo …" << endl;
}
if (resultSet-> isNull (3))
{
cout << "La fecha de contratación es nula …" << endl;
}
más
{
dateAsString = hireDate.toText (dateFormat);
}
cout << empno << "\ t" << ename << "\ t" << dateAsString << endl;
}
// Cerrar ResultSet y Statement
stmt-> closeResultSet (resultSet);
conn-> terminateStatement (stmt);
// Cerrar conexión y entorno OCCI
eliminar dbm;
}
captura (SQLException y ex)
{
if (dbm! = NULL)
{
dbm-> rollbackActions (ex, stmt, resultSet); // recursos gratuitos y transacción de reversión
}
}
devuelve 0;
}
Fuentes: Desarrollar aplicaciones C y C ++ con Oracle Database 11g usando OCI