none
Visual C++ 2005 Express+ODBC RRS feed

Réponses

Toutes les réponses

  • Bonjour,

    Je vous conseille d'utiliser ADO .NET (avec un projet C++/CLI). Utilisez et consultez l'exemple de la classe OdbcCommand : http://msdn.microsoft.com/en-us/library/system.data.odbc.odbccommand.aspx

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu mercredi 12 mai 2010 08:40
    lundi 10 mai 2010 11:17
    Modérateur
  • Bonjour,

     

    Pour créer une connexion ODBC, consultez cette page MSDN.

    http://msdn.microsoft.com/fr-fr/library/aa719762(v=VS.71).aspx

     

    Avez-vous un certain scenario que vous voulez implémenter et ou on peut vous aider ?

     

    Cordialement,

    Alex


    Appel à contribution ! http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/bd974e0e-5519-4122-b8fc-3b998207c34f
    • Marqué comme réponse Alex Petrescu mercredi 12 mai 2010 08:40
    lundi 10 mai 2010 11:24
  • Bonjour à tous!

     

    Je me permets de reprendre ce topic, car je recherche également à me connecter à une base de données MS SQL distante en utilisant ODBC et je suis un peu perdu.

    J'ai trouvé beaucoup d'exemple utilisant des DSN.

    J'aurais voulu savoir s'il est possible de fournir l'adresse IP du serveur distant. Selon la doc MSDN, on peut la spécifier dans les paramètres de la fonction SQLDriverConnect() par l'attribut Address=IP (paramètre 3).

    Avez-vous un exemple pour réaliser cela.

    Mon code, ci-dessous, génère une erreur lors de l'execution de la fonction SQLDriverConnect():

     

     

    #include <windows.h>
    #include <sql.h>
    #include <sqlext.h>
    #include <sqltypes.h>
    #include <stdio.h>
     
    int main () {
     
    	// Déclaration des variables SQL
    	SQLRETURN retcode;
    	SQLHENV henv;
    	SQLHDBC hdbc;
    	SQLHSTMT hstmt;
     
        char* param_con = "DRIVER={SQL SERVER}; Address=10.0.0.200:1433; Trusted_Connection=No; UID=mon_UID; PWD=mon_PWD;";
     
    	// setting environnement handle
    	retcode=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
     
    	// Setting ODBC Driver version
    	if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    		retcode=SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3,0);
    	else printf("Erreur sur l'instruction SQLAllocHandle !\n");
     
    	// setting connection handle
    	if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    		retcode=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
    	else printf("Erreur sur l'instruction SQLSetEnvAttr !\n");
     
    	// Connection to database
    	if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    		retcode = SQLDriverConnect(hdbc, NULL, (SQLWCHAR*) param_con, SQL_NTS, NULL, SQL_NTS, NULL, SQL_DRIVER_COMPLETE);
    	else printf("Erreur sur l'instruction SQLAllocHandle !\n");
     
    	if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
    		retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
    	else printf("Erreur sur l'instruction SQLConnect !\n");
     
    	// Déconnexion
    	//SQLFreeStmt(hstmt, SQL_DROP);
    	SQLDisconnect(hdbc);
    	SQLFreeConnect(hdbc);
     
    	// Pause
    	system("PAUSE");
    	return 0;
    }
    
    

     

    mercredi 25 août 2010 11:28
  • Bonjour,

    Normalement vous avez juste à spécifier l'adresse IP dans la chaîne de connexion comme vous l'avez très bien fait...

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    dimanche 3 octobre 2010 14:41
    Modérateur