begin process at 2012 05 28 22:25:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Driver

 > 

connecter au Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.


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

connecter au Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.

jeudi 9 juillet 2009 à 19:54:15 | connecter au Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.

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 (esayphp 1.7)
et mysql-connector-odbc-3.51.19-win32

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 nom d'utilisateur : root
le mot de passe est vide


Voici une partie de mon programme C:


#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);
    if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
printf("%s","vrai");
else
printf("Erreur sur l'instruction SQLConnect !\\n");


SQLAllocStmt ( hdbc, &hstmt);
SQLBindCol(hstmt,1,SQL_C_CHAR,design,sizeof(design),&lon);
SQLBindCol(hstmt,2,SQL_C_ULONG,&A,0,&la);
SQLBindCol(hstmt,3,SQL_C_ULONG,&B,0,&lb);
SQLBindCol(hstmt,4,SQL_C_ULONG,&C,0,&lc);
SQLBindCol(hstmt,5,SQL_C_ULONG,&D,0,&ld);
//SQLExecDirect(hstmt,(UCHAR FAR *)"select * from connaissance",SQL_NTS);
strcpy(request,"select * from ");
strcat(request,nom_table);
strcat(request,";");
//strcat(request," where designation like ?");
//SQLPrepare(hstmt,"select * from connaidiabete where designation like ?",SQL_NTS);
SQLExecDirect(hstmt,(UCHAR FAR *)request,SQL_NTS);
//SQLPrepare(hstmt,request."where designation like ?",SQL_NTS);
//SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR, SQL_VARCHAR,20,0,valeur,0,&taille);
//SQLExecute(hstmt);

while (SQLFetch(hstmt)!=SQL_NO_DATA)
{
    
    if(strcmp(valeur,design)==0)
printf("oui\n");

}
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);

//SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
//SQLFreeHandle(SQL_HANDLE_ENV,henv);
}


Après la compilation et l'exécution j'aurais ce message:
Erreur sur l'instruction SQLConnect !\n

C'est à dire la connexion ne passe pas bien.

j'ai consulté la documentation sur la chaine de connexion dans visual studio 2008 dans le
lien suivant. Mais je ne trouve pas une solution.

http://msdn.microsoft.com/en-us/library/ms711810(VS.85).aspx

Comment ce problème de connexion va être résolue?
Avez-vous un exemple de test pour tester ma connexion et traiter quelques requêtes ?

Le reste de travail se base sur la réussite du  connexion au base des données et l'exécution des requêtes.
SVP, j'ai besoin de votre aide.


Cette discussion est classée dans : sql, include, retcode, hstmt, nts


Répondre à ce message

Sujets en rapport avec ce message

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 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 Access table liée [ par ouamtax ] Bonjour,J'ai écrit un petit exe qui me convertis une BDD access en passant par OBDC.Le programme marche pas mal sauf lorsque la BDD contient des table 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 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 Problème procedure stocké avec odbc32.lib [ par seb33510 ] J'ai créé une dll en c++ qui en utilisant la librairie Microsoft odbc32.lib me permet d'effectuer des traitements SQL. Ma base de donnée est SQLServer C++ Connexion base SQL [ par sarcipus ] Bonjour, j'essaie tjs de réaliser un programme en C++ qui va interroger une base SQL. J'essaie de reprendre ligne par ligne un exemple d'internet afin 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 wxWidgets->connection bdd sql [ par satellite34 ] Bonjour, nous developpons actuellement une application de gestion de bdd sql   avec wxWIDGETSDonc, j' utilise wxDbConnectInf pour me connecter mais lo 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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,092 sec (3)

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