begin process at 2010 02 10 08:58:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Base de données

 > 

pb d'augmentation de memoire avec connexion SQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb d'augmentation de memoire avec connexion SQL

mardi 20 avril 2004 à 12:02:26 | pb d'augmentation de memoire avec connexion SQL

cassiopee88

Alors voila je vous explique mon problème :

j'ai ecrit un programme en C qui suite à certain evenement envoi une requete SQL. Tous marche correctement sauf que la memoire utilisée (memoire virtuelle sous WinNT) par mon prog augmente de plus en plus.

je suis sure que c'est à cause de la connexion SQL parce que quand j'execute mon prog sans la connexion SQL sa taille n'augmente pas.

Je comprend vraiment pas pourquoi. Je pense que je désalloue tout correctement.

Si quelqu'un à une idée... merci beaucoup de m'aider.



Pour plus de détail, j'utilise une base de donnée mySQL et des liens ODBC.

mon code est le suivant :
- pour la connexion SQL
int connexion_SQL(int i)
{
SQLRETURN retcode;

/*Allocate environment handle */
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
/* Set the ODBC version environment attribute */
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);

if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
/* Allocate connection handle */
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
/* Set login timeout to 5 seconds. */
SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)5, 0);

/* Connect to data source */
retcode=SQLConnect(hdbc,(SQLCHAR*)lienODBC,SQL_NTS,
(SQLCHAR*)user,SQL_NTS,
(SQLCHAR*)password,SQL_NTS);

if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
ttable[i].connect = TRUE;
if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
{
return 1;
}
}
}
}
}
deconnexion_SQL();
return 0;
}


-pour la deconnexion :

void deconnexion_SQL(void)
{
if(hstmt){
if(SQLFreeHandle(SQL_HANDLE_STMT,hstmt) != SQL_SUCCESS) {
strcpy(erreur,"Erreur désallocation de handle STMT SQL");
}
}

if(ttable[0].connect == TRUE){
short ret = SQLDisconnect(hdbc);
if(ret!= SQL_SUCCESS && ret!=SQL_SUCCESS_WITH_INFO){
strcpy(erreur,"Erreur de déconnexion SQL");
}
}

if(hdbc){
if(SQLFreeHandle(SQL_HANDLE_DBC,hdbc) != SQL_SUCCESS){
strcpy(erreur,"Erreur de désallocation de handle DBC SQL");
}
}
if(henv){
if(SQLFreeHandle(SQL_HANDLE_ENV, henv) != SQL_SUCCESS) {
strcpy(erreur,"Erreur de désallocation de handle ENV SQL");
}
}
}

-ensuite pour envoyer ma requete :
if(connexion_SQL(i)){
retcode = SQLExecDirect(hstmt,(unsigned char *)requete, size); deconnexion_SQL();
}

voila


Cette discussion est classée dans : erreur, sql, handle, retcode, success


Répondre à ce message

Sujets en rapport avec ce message

mysql ODBC et augmentation de mémoire... [ par cassiopee88 ] Alors voila je vous explique mon problème : j'ai ecrit un programme en C qui suite à certain evenement envoi une requete SQL. Tous marche correctement probleme de connexion odbc [ par neofenix ] salut tout le monde voila j'ai recupéré un code de connnexion odbc sur cppfrance mais le probleme c'est que je n'arrive pas a me connecter a ma base d Connexion ODBC avec SQLConnect [ par gagaet22 ] Bonjour à tous et bonne année!!!! Et la santé aussi (quand la santé va tout va !!!)Voila, je suis en train de decouvrir ODBC avec mes petits moyens. M Problème du connexion à BD Mysql dans un programme C [ par boualiasma ] Salut, - J'ai décidé de travailler avec easyphp puisque plus facile à créer des bases des données par rapport au Mysql server via lignes des commandes Requête SQL [ par kj_83 ] Bonjour ,Je travail sur un programme de gestion de stock sous C++ Builder avec une base de donnée Access.J'ai donc utilisé les composants de Builder p Interrogation base SQL depuis programme C++ [ par sarcipus ] Bonjour,J'ai commencé le programme ci dessous qui doit travailler avec une base SQL. Ca se compile sans erreur jusqu'ici.Je dispose d'une base SQL nom probleme de liaison [ par sambalien ] Je suis en train d'apprendre comment faire la connexion de sql avec C.  Voici ma source#include #include #include // #include int main(){ Erreur à l'execution du requête SQL [ par kj_83 ] Bonjour , je réalise un programme de gestion de stock qui doit entre autres inscrire des données entrées par l'utilisateur dans une base de donnée.J'u Erreur à l'execution du requête SQL [ par kj_83 ] Bonjour , je réalise un programme de gestion de stock qui doit entre autres inscrire des données entrées par l'utilisateur dans une base de donnée.J'u connecter à une base de données Mysql via ODBC et C [ par boualiasma ] Salut, Je voudrais connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows. le nom de DSN est : pays_


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales