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

MFC Discussion :

ODBC SQL Server VC++


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par d�faut ODBC SQL Server VC++
    Bonjour,

    Debutant en gestion de base de donn�es avec Visual C++, je cherche un peu d'aide au pres d'une ame charitable
    En effet j'ai une base sql server distante auquel j'aimerai acceder pour effectuer diverses requetes ...
    Mais je suis un peu perdu dans la maniere dont je vais m'y connecter ...
    A priori il faut que j'utilise la fonction open de la classe cdatabase mais je vois pas trop comment faire ...Le driver sql server je vois mais pas l'adresse ip, l'id et le mot de passe ...

    Help ...

  2. #2
    R�dacteur
    Avatar de abelman
    Inscrit en
    F�vrier 2003
    Messages
    1 106
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 106
    Par d�faut
    Tout se passe dans la chaine de connexion
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    CString sConnect = "DSN=nomdetasourceodbc;UID=nomuser;PWD=motdepasse;Database=nombdd";
    db.OpenEx(sConnect, CDatabase::noOdbcDialog|CDatabase::useCursorLib); // par exemple
    Voir MSDN pour CDatabase

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par d�faut
    Merci ...
    J'ai donc reussi � me connecter a la base de donn�es, mais il reste un hic ... J'aimerai savoir si il est possible de specifier l'adresse ip de la source de donn�es, le type de driver � utiliser et enfin une authentification sql dans la commande openEx ou est on oblig� de creer une source de donn�es pr�alablement ??

  4. #4
    R�dacteur
    Avatar de abelman
    Inscrit en
    F�vrier 2003
    Messages
    1 106
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 106
    Par d�faut
    Pour l'ODBC, il faut toujours cr�er pr�alablement une source de donn�es. C'est dans la source que tu sp�cifies l'ip de ton serveur.
    Pour ce qui es de l'authentification, tout se passe dans la chaine de connexion.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par d�faut
    merci AbelMan ...
    C bcp plus clair maintenant !!

    Vu que mon reservoir d'interrogations n'est pas encore vide, je te soumets une autre petite question :
    Voici mon code pour supprimer un tuple d'une table :

    Code : 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
    30
    31
     
    extern "C" __declspec(dllexport) int DLL_DeleteCount(CString strClient,CString strPhone)
    {
     
    	if(!m_bDBConnected)
    	{
    		return 0;
    	}
    	CRecordset recset(&m_DataBase);
    	CString strRequete;
    	strRequete = "SELECT * FROM account WHERE acid_productName='"+strClient+"'";
    	recset.Open(CRecordset::forwardOnly,strRequete,CRecordset::readOnly);
     
    	strRequete = "DELETE FROM multi_cli where productName='"+strClient+"' AND cli='"+strPhone+"'";
     
    	TRY
    	{
    		m_DataBase.ExecuteSQL( strRequete );
    	}
     
    	CATCH(CDBException, e)
    	{
    		AfxMessageBox("Database error: "+e->m_strError);
    		return 0;
    	}
     
    	END_CATCH
     
     
    	return 1;
    }
    Et "Monsieur PC" me repond : "Connection is busy with result for another hstmt"!!

    As tu deja eu le probleme, a priori ca vient de la commande SQLExecute...

    A ton avis pour supprimer, ajouter ou editer un tuple d'une mieux vaut utiliser cette commande ou utiliser des RecordSet???

    Merci d'avance ...

  6. #6
    R�dacteur
    Avatar de abelman
    Inscrit en
    F�vrier 2003
    Messages
    1 106
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 106
    Par d�faut
    Logique.
    "Monsieur PC ne fait que ce qu'on lui demande"
    1 - Tu veux faire une suppression dans ta base. Dans ce cas pourquoi fais tu un select juste avant ? tu n'as pas � faire de SELECT et donc pas de recordset � ouvrir.
    2 - Techniquement, �a l�ve une exception car tu n'as pas ferm� le recordset.
    Si tu tiens � faire un SELECT avant ton DELETE, n'oublie pas de faire
    Avant toute autre requ�te sur ta base de donn�es.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par d�faut

    heureusement que j'ai mis cet avatar ...
    Sinon c une bonne solution de faire tout par ce biais la ?(SQLExecute)

  8. #8
    R�dacteur
    Avatar de abelman
    Inscrit en
    F�vrier 2003
    Messages
    1 106
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 106
    Par d�faut
    Pour les requ�tes INSERT, DELETE, UPDATE et autres ne retournant pas de jeu de donn�es c'est CDatabase::ExecuteSQL
    Pour les requ�tes SELECT et autres retournant des donn�es c'est CRecordSet::Open

  9. #9
    Membre habitu�
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Par d�faut probleme avec la connexion odbc oracle
    bonjour,

    j'ai vu que vous discutiez sur le pb de la connexion odbc.
    voila, j'ai fais un petit programme de test pour tester la connexion odbc mais j'ai des erreurs de thread

    Linking...
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
    Debug/test.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.


    voici le petit programme que je souhaite tester:

    #include <afxdb.h>


    void main()
    {
    CDatabase con;

    try
    {
    con.OpenEx( _T( "DSN=ma_source;UID=mon_login;PWD=mon_pwd" ),
    CDatabase::openReadOnly | Database::noOdbcDialog );
    }
    catch(CDBException *f)
    {
    }
    }

    si quelqu'un a une solution a mon pb, je le remercie d'avance.

  10. #10
    R�dacteur
    Avatar de abelman
    Inscrit en
    F�vrier 2003
    Messages
    1 106
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 1 106
    Par d�faut


    Dans le Menu Projet aller dans
    Propri�t�s de ton projet (tout en bas)
    Propri�t�s de configuration
    C++
    G�n�ration de code
    Biblioth�que Runtime = D�bogage multithread (/MTd) pour la version DEBUG
    Biblipth�que Runtime = multithread (/MT) pour la version Release

  11. #11
    Membre habitu�
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 10
    Par d�faut probleme avec la connexion odbc oracle
    je te remercie.
    ca c'est bien compil�.
    mnt je passe � la suite

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [SQL] pb connection distante odbc SQL SERVER
    Par Le fut dans le forum PHP & Base de donn�es
    R�ponses: 1
    Dernier message: 07/02/2007, 16h35
  2. R�ponses: 3
    Dernier message: 18/01/2007, 10h48
  3. [Microsoft][ODBC SQL Server] 6 + ASP
    Par Opo dans le forum ASP
    R�ponses: 2
    Dernier message: 21/11/2006, 08h45
  4. Lien ODBC SQL Server
    Par Praline dans le forum Oracle
    R�ponses: 1
    Dernier message: 20/10/2006, 14h04
  5. Creation de ODBC sql Server
    Par lessoy dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 26/05/2006, 15h11

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