Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1532 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Connectionà une base de données Ms sql en c++??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Connectionà une base de données Ms sql en c++??

n°1096919
zip1234567​89
Posté le 25-05-2005 à 16:40:18  profilanswer
 

Salut tout le monde!!! :hello:  
 
J'ai un problème et j'arrive pas à trouver de solution.
Voilà, alors c'est tout simple:
j'ai des bases

mood
Publicité
Posté le 25-05-2005 à 16:40:18  profilanswer
 

n°1096929
zip1234567​89
Posté le 25-05-2005 à 16:44:05  profilanswer
 

Désolé je me suis planté de touche!!!!:D
 
Donc je reprend :  
J'ai une base de données de type ms-sql sur un serveur (windows 2003) et avec un programme en c++, je souhaiterais me connecter à cette base et lui insérer des valeurs obtenues précedement dans mon programme.
 
Comment je peux faire pour me connecter sur la base???
svp, HELP!

n°1097037
iceteapech​e
www.iceteapeche.com
Posté le 25-05-2005 à 17:34:56  profilanswer
 

Je te conseille la librairie MySQL++. Perso je l'utilise depuis 2 ans, c'est facile et intuitif.
 
tu peux la trouver ici http://tangentsoft.net/mysql++/
 

n°1097127
moi23372
Posté le 25-05-2005 à 18:51:58  profilanswer
 

oui mais ça ne lui servira pas bcp la doc pour MySQL puisqu'il travaille avec SQL SERVER (si je ne me trompe pas ms-sql => microsoft sql????)

n°1097198
iceteapech​e
www.iceteapeche.com
Posté le 25-05-2005 à 19:55:25  profilanswer
 

alors regarde du cote de ODBC et des objets CRecordSet
 

n°1097528
zip1234567​89
Posté le 26-05-2005 à 08:32:58  profilanswer
 

oué c'est tout à fait ca moi23372. Je travail avec sql server.
 
Je connait pas ODBC et c'est quoi CRecordSet??

n°1097542
moi23372
Posté le 26-05-2005 à 08:52:38  profilanswer
 

ODBC est une couche logiciel qui te permet de faire des connexion à des bases de données!  
je te conseille donc de chercher de la documentation sur google afin de pouvoir manipuler ce genre d'objet...

n°1097585
zip1234567​89
Posté le 26-05-2005 à 09:28:03  profilanswer
 

oki merci. Mais est-ce-qu'il faut installé quelque chose sur le serveur sql??? (parce que ca je peut pas)
 
Sinon si je fait mon programme en c++ avec odbc, quand je vais compilé,il va me créer un exécutable et est-ce-que cet exécutable va fonctionné correctement si il n'y a pas odbc d'installer sur le serveur? (le programme est destinée a aller sur un autre serveur)

n°1099016
zip1234567​89
Posté le 27-05-2005 à 08:51:48  profilanswer
 

help please!

n°1099869
iceteapech​e
www.iceteapeche.com
Posté le 27-05-2005 à 17:06:23  profilanswer
 

ODBC c'est juste une couche logiciel... Donc pas besoin de l'installer. Par contre il faut créer la clef ODBC (en gros les protocoles de connexions) sous le panneau de configuration de windows. Ce que je te conseille de faire c'est de creer la clef ODBC via le control panel de windows, et d'ensuite creer un installeur avec Inno Setup par ex qui copiera directement la clef que tu as creer dans la base de registre du serveur sur lequel tu installes ton application.
 
je l'ai deja fait ca marche plutot bien.


Message édité par iceteapeche le 27-05-2005 à 17:07:24
mood
Publicité
Posté le 27-05-2005 à 17:06:23  profilanswer
 

n°1099902
zip1234567​89
Posté le 27-05-2005 à 17:25:06  profilanswer
 

oki ca c'est fait! merci! ;)
 j'ai taper un ptit bout de code pour tenter de me connecter à une base mais il me met des erreurs et je comprend pas ( Je me suis grandement inspiré d'exemple vue sur le net...)
 

Code :
  1. #include <windows.h>
  2. #include <sql.h>
  3. #include <sqlext.h>
  4. #include <sqltypes.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. // Les defines
  9. #define MAIN_LEN 80
  10. // Les types SQL
  11. SQLHENV henv;
  12. SQLHDBC hdbc;
  13. SQLHSTMT hstmt;
  14. void main ( )
  15. {
  16.  
  17. // Déclaration des variables SQL  
  18. SQLRETURN retcode;
  19. // Déclaration des variables Standart
  20. char Serveur[MAIN_LEN+1]="di-ca-01";
  21. char Login[MAIN_LEN+1]="netw";
  22. char Pwd[MAIN_LEN+1]="";
  23. FILE *fp;
  24. retcode=SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
  25.            
  26. if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
  27. retcode==SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,NULL);
  28.                
  29. if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
  30. retcode=SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
  31. else
  32. printf("Erreur sur l'instruction SQLAllocHandle !\n" );
  33.    
  34. // Vérification du Lien ODBC, Login Et Pwd         
  35. if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
  36. retcode=SQLConnect(hdbc, (SQLCHAR*)Serveur, SQL_NTS, (SQLCHAR*)Login, SQL_NTS, (SQLCHAR*)Pwd, SQL_NTS);
  37. else
  38. printf("Erreur sur l'instruction SQLSetEnvAttr !\n" );
  39.                    
  40. if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
  41. retcode=SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
  42. else
  43. printf("Erreur sur l'instruction SQLConnect !\n" );
  44. // Déconnexion  
  45. SQLFreeStmt(hstmt, SQL_DROP);
  46. SQLDisconnect(hdbc);
  47. SQLFreeConnect(hdbc);
  48.  
  49. printf("Fin de l'exportation\n" );
  50. // Pause  
  51. getchar ();
  52.    
  53. }


 
Je comprend a peu près le code mais il me dit qu'il y a ca comme erreur :  

Code :
  1. `SQL_ATTR_ODBC_VERSION' undeclared (first use this function)
  2. `SQL_OV_ODBC3' undeclared (first use this function)


 
Une idée d'ou sa vient??

n°1101934
zip1234567​89
Posté le 30-05-2005 à 17:02:03  profilanswer
 

S'il vous plait..... à l'aide!!! j'ai beau essayé plein d'autres code il n'y a rien qui marche.
quelqu'un pourrait-il m'aider??

n°1103070
zip1234567​89
Posté le 31-05-2005 à 16:07:48  profilanswer
 

salut c'est re moi!!
C'est fou j'ai l'impression de parler tout seul!!! :cry:  
 
J'ai remodifié mon code et la c'est un peu mieux... (enfin je pense!!!)
 

Code :
  1. #include <sql.h>
  2. #include <sqlext.h>
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <stdlib.h>
  6. #include <string>
  7. #include <sqltypes.h>
  8. int main()
  9. {
  10. SQLHENV henv;
  11. SQLHDBC hdbc;
  12.     SQLRETURN sqlReturn ;
  13.     SQLAllocEnv (&henv);                 /* allocate an environment handle */
  14.     SQLAllocConnect (henv, &hdbc);       /* allocate a connection handle   */
  15. //Connect to SQL Server.
  16. sqlReturn = SQLConnect( SQLHDBC  "bd_networker",
  17.                                     (SQLCHAR *)"di-ca-01",
  18.                                      SQL_NTS,
  19.                                     (SQLCHAR *)"netw",
  20.                                      SQL_NTS,
  21.                                     (SQLCHAR *)""
  22.                                      SQL_NTS);
  23. SQLDisconnect(hdbc);
  24. SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
  25. SQLFreeHandle(SQL_HANDLE_ENV, henv);
  26. system("pause" );
  27. return(0);
  28. }

 
Le problème s'est que maintenant mon compileur me dit qu'il y a une erreur à la ligne 20:  

Code :
  1. 23 d:\dev_c_~1\a_virer2.cpp parse error before string constant


 
Je vois pas d'où vient l'erreur... Si quelqu'un veut bien perdre un peu de son temps pour m'aider???

n°1115575
zip1234567​89
Posté le 10-06-2005 à 12:27:25  profilanswer
 

allo???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Connectionà une base de données Ms sql en c++??

 

Sujets relatifs
Récupération données Mysql vers Mysqlmigrer une base access vers sql
Connexion à une base de donnéeimpossible d'inserer dans ma base ..
modif et insert de données avec une DBGrid / DOAComment acquerir des données numériques via liaison RS232 PC?
bases de donnees multidimensionnellesEnregistrer des données VB dans une base acces
[Html/Php/Mysql] comment recuperer des données selon condition 
Plus de sujets relatifs à : Connectionà une base de données Ms sql en c++??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR