Mi código:MySQL Query ejecuta pero lanza una excepción
try {
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
/* Create a connection */
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "123456");
stmt = con->createStatement();
stmt->executeQuery("CREATE USER 'user22'");
delete stmt;
delete con;
} catch (sql::SQLException &e) {
cout << "# ERR: " << e.what();
cout << " (MySQL error code: " << e.getErrorCode();
cout << ", SQLState: " << e.getSQLState() << ")" << endl;
}
Crea el user22 sino que también se emite una (vacío?) Excepción:
# ERR: (MySQL error code: 0, SQLState: 00000)
Por supuesto, volver a ejecutar el resultado es una excepción adecuada :
# ERR: Operation CREATE USER failed for 'user22'@'%' (MySQL error code: 1396, SQLState: HY000)
Al comentar los resultados de la línea executeQuery
en sin excepciones (salida de blanco) ¿Es esto común? ¿Debería simplemente ignorar esto?
¿Está utilizando el controlador más reciente? ¿Has buscado en los foros de MySQL? –
Esto parece un duplicado de http://stackoverflow.com/q/5555328/310112 al menos pruebe la solución publicada allí y vea si le funciona. –
@Joel: No estoy teniendo ese problema. Probé Flush Privilages de todos modos, no funciona. – lalli