Connecter C++ à Oracle

Fermé
duxitto Messages postés 247 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 7 janvier 2013 - 12 juin 2009 à 21:49
 Mikey34 - 14 sept. 2011 à 15:30
Bonsoir, je bloque depuis des heures sur un programme que je fais et que je dois rendre demain,
en résumé je suis sur Visual C++ 2008 et le langage est le C++, le programme est censé se connecter à une base oracle , lire les données dans une table puis les recopier dans une autre table en donnant après le temps d'exécution.
Actuellement , je bloque encore sur la connexion, j'utilise SQLAPI pour me connecter à oracle mais j'ai deux erreurs que je n'arrive pas à résoudre, merci de votre aide car j'en peux plus :(

voila le code du main

#include <iostream>
#include "classconnexion.h"
#include <SQLAPI.h> 

int main(int argc, char* argv[])
{
Connexion *conect;	
	conect=new Connexion("SYSTEM","515000","XE");
	conect->EtablirConnexion();
    system ("PAUSE");
	return 0;
}



voila celui de la classe connexion
#include <iostream>  
#include <SQLAPI.h>
#include <string>
using namespace std;


class Connexion {
private:
	string login;
	string mdp;
	string nomBase;
	SAConnection con;
	SAConnection con2;

	Connexion ();
	Connexion(const SAString&login,const SAString&mdp,const SAString&nomBase, SAClient_t eSAClient = SA_Client_NotSpecified )
		{
		
		this->login=login;
		this->mdp=mdp;
		this->nomBase=nomBase;
		this->con2.setClient(SA_Oracle_client);

	}
public:
	void Connexion::EtablirConnexion()
	{
		try
    {
      
        con.Connect(nomBase , login , mdp , con2);

        printf("We are connected!\n");
        
    }
    catch(SAException &x)
    {

        try
        {
            
            con.Rollback();
        }
        catch(SAException &)
        {
        }
       
        printf("%s\n", (const char*)x.ErrText());
    }

	}
};

et voila le .h

#include <string>
#include <SQLAPI.h>
class Connexion
{
public:
	Connexion();
	Connexion(std::string login,std::string mdp,std::string nomBase);
	~Connexion();
    void EtablirConnexion();

private:
	const SAString&login;
	const SAString&mdp;
	const SAString&nomBase;
	SAConnection con;
	SAConnection con2;
};


et enfin les erreurs :(


visual studio 2008\projects\porjetetl\porjetetl\classconnexion.cpp(22) : error C2065: 'SA_Oracle_client' : identificateur non déclaré

visual studio 2008\projects\porjetetl\porjetetl\classconnexion.cpp(31) : error C2664: 'SAConnection::Connect' : impossible de convertir le paramètre 1 de 'std::string' en 'const SAString &'

1> Raison : impossible de convertir de 'std::string' en 'const SAString'

merci pour tout coup de main

2 réponses

Il faut utiliser les api Win32 SGBD.
Demander chez les pros Win32 où toutes les méthodes ont été détaillées ( https://groups.google.com/forum/?hl=fr#!forum/fr.comp.os.ms-windows.programmation )
0
Salut duxitto,

J'ai le même soucis que toi et j'aimerais savoir si finalement tu as réussi et si oui comment?

Merci d'avance
0