begin process at 2012 05 29 14:23:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

SQL

 > 

Problème du connexion à BD Mysql dans un programme C


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

Problème du connexion à BD Mysql dans un programme C

mardi 14 juillet 2009 à 12:14:54 | Problème du connexion à BD Mysql dans un programme C

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.
je ne sais pas c'est ceci est bon ou non ?

- Je ne sais pas pourquoi  je trouve seulement le dossier bin sous
C:\Program Files\EasyPHP1-7\mysql

Je voudrais connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.
J'ai Mysql version 4.0.15 (esayphp 1.7)
et mysql-connector-odbc-3.51.19-win32

je trouve seulement le dossier bin sous :C:\Program Files\EasyPHP1-7\mysql
J'ai copié ma base des données sous: C:\Program Files\EasyPHP1-7\mysql\data

j'ai testé la source de données (ODBC) qui j'ai ajouté  avec la base de données. Ceci se passe bien.

le nom de DSN est : toto
le serveur: localhost
le nom d'utilisateur : root
le mot de passe est vide



Mysql est bien démarré. J'ai testé la connexion entre le driver ODBC et ma base des données  alors ceci se passe bien.

J'ai testé le code suivant pour vérifier la connexion au base des données. Le serveur est déjà démarré. La compilation se passe bien.
 Après l'exécution, j'ai l'affichage suivant:

retcode= -1
Erreur sur l'instruction SQLConnect


le code est :

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
#include<string.h>

#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

#include <sqlucode.h>
#include <odbcinst.h>
#include <Msdasql.h>
#include <Msdadc.h>


void main()
{
SQLRETURN retcode;
//char design[20];
//int A,B,C,D;
//char request[100];
//char dsn[20]="toto";
//char uid[20]="root";
//char pwd[20]="";
SQLINTEGER lon,la,lb,lc,ld,taille=SQL_NTS;
SQLCHAR design[20];
SQLHDBC hdbc;
SQLHENV henv;
SQLHSTMT hstmt;


/*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)

    //printf("%s","vrai");
    //else
        //printf("erreur\n");
//   }
 
//}

             
          // retcode = SQLConnect(hdbc,(SQLCHAR*)dsn, SQL_NTS,(SQLCHAR*)uid, SQL_NTS,(SQLCHAR*)pwd, SQL_NTS);
    retcode=SQLConnect(hdbc,(SQLCHAR *)"toto",SQL_NTS,(SQLCHAR *)"root",SQL_NTS,(SQLCHAR *)"",SQL_NTS);
    printf("%d",retcode);
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
printf("\n%s","vrai");
else
printf("Erreur sur l'instruction SQLConnect !\\n");

}

Je dois travailler dans cet environnement: Windows, Visual Studio, C, Mysql et ODBC.

Je serais très content pour vos aides

Merci.

mardi 14 juillet 2009 à 16:30:30 | Re : Problème du connexion à BD Mysql dans un programme C

boualiasma

Salut,
Après l'exécution j'obtiens:
retcode=-1  c'est la valeur de retour de SQLConnect
Erreur sur l'instruction SQLConnect Impossible de se connecter a la source de donnees:
1. [

- Qu'est ce que signifie ce message d'erreur ?:  1. [  
- Comment je trace ODBC ?
jeudi 16 juillet 2009 à 15:18:30 | Re : Problème du connexion à BD Mysql dans un programme C

guill76

salut,

A premiere vue:
pas de SQLDriverConnect mais tu peux
utiliser une proc du genre pour tracer des messages
avec
#define MAWBUFLEN 256
void ProcessLogMessages(SQLSMALLINT plm_handle_type,
SQLHANDLE plm_handle,
char *logstring, int ConnInd)
{
RETCODE plm_retcode = SQL_SUCCESS;
UCHAR plm_szSqlState[MAXBUFLEN] = "",
plm_szErrorMsg[MAXBUFLEN] = "";
SDWORD plm_pfNativeError = 0L;
SWORD plm_pcbErrorMsg = 0;
SQLSMALLINT plm_cRecNmbr = 1;
SDWORD plm_SS_MsgState = 0, plm_SS_Severity = 0;
SQLINTEGER plm_Rownumber = 0;
USHORT plm_SS_Line;
SQLSMALLINT plm_cbSS_Procname, plm_cbSS_Srvname;
SQLCHAR plm_SS_Procname[256], plm_SS_Srvname[256];
cerr<<logstring<<endl;

while (plm_retcode != SQL_NO_DATA_FOUND) {
plm_retcode = SQLGetDiagRec(plm_handle_type, plm_handle,
plm_cRecNmbr, plm_szSqlState, &plm_pfNativeError,
plm_szErrorMsg, MAXBUFLEN - 1, &plm_pcbErrorMsg);

if (plm_retcode != SQL_NO_DATA_FOUND) {
if (ConnInd) {
plm_retcode = SQLGetDiagField(
plm_handle_type, plm_handle, plm_cRecNmbr,
SQL_DIAG_ROW_NUMBER, &plm_Rownumber,
SQL_IS_INTEGER,
NULL);
}
cerr<<"szSqlState = "<<plm_szSqlState<<endl;
cerr<<"pfNativeError = "<<plm_pfNativeError<<endl;
cerr<<"szErrorMsg = "<<plm_szErrorMsg<<endl;
cerr<<"pcbErrorMsg = "<<plm_pcbErrorMsg<<endl;

if (ConnInd) {
cerr<<"ODBCRowNumber = "<< plm_Rownumber<<endl;
cerr<<"SSrvrLine = "<< plm_Rownumber<<endl;
cerr<<"SSrvrMsgState = "<<plm_SS_MsgState<<endl;
cerr<<"SSrvrSeverity = "<<plm_SS_Severity<<endl;
cerr<<"SSrvrProcname = "<<plm_SS_Procname<<endl;
cerr<<"SSrvrSrvname = "<<plm_SS_Srvname<<endl;
}
}
plm_cRecNmbr++; //Increment to next diagnostic record.
} // End while.
}

dimanche 27 février 2011 à 18:20:05 | Re : Problème du connexion à BD Mysql dans un programme C

houdanor

j'ai etablie la connexion avec la bd et je veus la requete de l'ecoute listen request


Cette discussion est classée dans : mysql, sql, include, retcode, success


Répondre à ce message

Sujets en rapport avec ce message

Connection base de données sql server via ODBC en C [ par Kizera ] Bonjour, j'ai un programme qui me permet de me connecter à une base sql server mais le problème c'est qu'il me manque 1 champ à compléter et que je ne connecter au Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows. [ par boualiasma ] Salut,Je voudrais connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.J'ai Mysql version 4.0.15 ( 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 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 pb d'augmentation de memoire avec connexion SQL [ 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 [LINUX] Connexion mysql en C [ par JuJu ] Bonjour,J'essaie de programmer une connexion mysql en C afin d'y insérer un enregistrement.Voici mon code actuel :==================================== MySQL en C, MySQL en C++ ou encore PostGreSQL... ou bien SQL Server [ par Alexbad ] Salut tout le monde Ça doit faire un gros 5 mois que j'essaie d'utiliser MySQL en C ou en C++, mais en vain. (J'ai demandé de l'aide un peu partout, m Visual C++ et SQL [ par Stephworlds ] Salut à tousje doit réaliser un programme qui doit communiquer avec une base de donnée distante. Le problème c'est que dès que je compile les problème Info sur les include [ par jose12 ] Bonjour, contexte : Je ne suis pas développeur mais admin réseau. Je connais un peu le VB et divers langage Web, et j'ai une vision très très succint


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,827 sec (3)

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