IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

se connecter a une base depuis un programme en C++ [2008]


Sujet :

MS SQL Server

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut se connecter a une base depuis un programme en C++
    bonjour
    J'ai besoin d'avoir accèder à une base de donnée à partir d'un programme en C++
    J'ai donc besoin des primitives connect, write, read ou get, commit, fetch...
    ou trouver des exemples de cet ordre?

  2. #2
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut pour le connect la solution est là
    bonjour
    Il y a deux choses a faire pour connecter la base
    Ajouter un assembly qui se trouve /Program Files/Microsoft SQL Server/100/SDK/Assemblies/Microsoft.SqlServer.Types.dll
    mettre un code adapté:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    namespace SpecificationChecker
    {
        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
        using namespace System::IO;
     
        ref class CInterbaseManagerM
        {
        private:
            static SQLHANDLE* sqlenvhandle;    
            static SQLHANDLE* sqlconnectionhandle;
            static SQLHANDLE* sqlstatementhandle;
            static SQLRETURN retcode;
        public:
            CInterbaseManagerM::CInterbaseManagerM();
            CInterbaseManagerM::~CInterbaseManagerM();
            static void CInterbaseManagerM::edit( char* final_err_buff);
            static erc CInterbaseManagerM::ConnectServer(std::wstring wsUserName, std::wstring wsPassword, std::wstring wsHost);
            static List<ElementSemanticM^>^ CInterbaseManagerM::ExecuteSelectRequestAndReadElement(std::wstring wsRequest, unsigned long* dwNbResultFound);
            static List<ElementLinksM^>^ CInterbaseManagerM::ExecuteSelectAndLinkRequest( std::wstring wsRequest, ElementSemanticM^ pEnreg, unsigned long  &dwNbResultFound);
            static erc CInterbaseManagerM::GetWideString(short shIndexField, std::wstring & wsStringValue);
            static List<ElementWork^>^ CInterbaseManagerM::ExecuteSelectRequestAndReadWork(std::wstring wsRequest, unsigned long* dwNbResultFound);
        }; 
    };
    et la procédure
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
            if( ErrorCode == INIT_NO_ERROR || ErrorCode == 1)
            {
                if(SQL_SUCCESS!=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, sqlenvhandle))
                ;
                 if(SQL_SUCCESS!=SQLSetEnvAttr(sqlenvhandle,SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0)) 
                ;
                if(SQL_SUCCESS!=SQLAllocHandle(SQL_HANDLE_DBC, sqlenvhandle, sqlconnectionhandle))
                ;
                SQLWCHAR retconstring[1024];
                switch(SQLDriverConnect (sqlconnectionhandle, NULL, (SQLWCHAR*)L"DRIVER={SQL Server};SERVER=localhost, 1433;DATABASE=COHERENCE;UID=sa;PWD=Admin-123;", SQL_NTS, retconstring, 1024, NULL,SQL_DRIVER_NOPROMPT))
                {
                    case SQL_SUCCESS_WITH_INFO:
                        show_error(SQL_HANDLE_DBC, (const SQLHANDLE*)sqlconnectionhandle);
                        break;
                    case SQL_INVALID_HANDLE:
                    case SQL_ERROR:
                        show_error(SQL_HANDLE_DBC, (const SQLHANDLE*)sqlconnectionhandle);
                        retcode = -1;
                        break;
                    default:
                        break;
                }
                if(retcode == -1)
                ;
                 if(SQL_SUCCESS!=SQLAllocHandle(SQL_HANDLE_STMT, sqlconnectionhandle, sqlstatementhandle))
                ;
            }
    ca compile alors :il reste a le vérifier à l'exécution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon programme JAVA n'arrive pas à se connecter a une base de données ORACLE
    Par yimson dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 13/10/2011, 15h52
  2. Connection à une base depuis postes clients
    Par frsof dans le forum Connexions aux bases de données
    Réponses: 1
    Dernier message: 25/04/2008, 20h41
  3. Se connecter a une base de données depuis eclipse.
    Par Rakken dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/04/2007, 09h53
  4. Réponses: 3
    Dernier message: 14/04/2006, 15h54
  5. Connection Ib6 à une base depuis un portable non connecté
    Par mika dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 17/02/2006, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo