1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// Valeur de retour
int ret=DB_CONNECTION_ERREUR;
// Creation environnement
retcode = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE, &env);
// Environnement correct
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
// On précise la version de ODBC utilisée
retcode = SQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL _OV_ODBC3,0);
// Version correcte
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
// Création environnement odbc
retcode = SQLAllocHandle(SQL_HANDLE_DBC,env,&hdbc);
// Environnement correct
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
// Initialisation du tps de connexion a 5 s.
SQLSetConnectAttr(hdbc,SQL_LOGIN_TIMEOUT,(void *)5,0);
// String de connexion passée en paramètre
char strCon[TAILLE_REQ];
strcpy(strCon,ConstruireConnexion().c_str());
// Connexion à une BDD
retcode = SQLDriverConnect(hdbc,NULL,(SQLCHAR *) strCon,SQL_NTS, (SQLCHAR*)OutConnectString,sizeof(OutConnectString ), &sqlInt,SQL_DRIVER_COMPLETE);
// Connexion BDD effectuée
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
ret=InitBDD();
}
}
}
}
string COdbcMySql::ConstruireConnexion(){
//chaine de connexion que l'on passe
//"DRIVER={MySQL ODBC 3.51 river};DATABASE=ife;SERVER=roi;
//PORT=3306;UID=ife;PWD=********";
string sRes = "";
sRes += "DRIVER={";
sRes += m_sDriver;
sRes += "};DATABASE=";
sRes += m_sDatabase;
sRes += ";SERVER=";
sRes += m_sServer;
sRes += ";PORT=";
sRes += m_sPort;
sRes += ";UID=";
sRes += m_sId;
sRes += ";PWD=";
sRes += m_sMdp;
return sRes;
} |
Partager