/***************************************************************/
Type ConnexionOdbc HeriteDe IConnexionSql Defaut TailleSegment 2 ConserverObjets
/* Objet : Interface correspondant aux connexions Odbc. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'ITransaction. */
/*-------------------------------------------------------------*/
Prive :
NomTransaction : Caractere Lecture Public Trace;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'IConnexionSql. */
/*-------------------------------------------------------------*/
Prive :
NomUtilisateur : Caractere Lecture Public Trace;
NomBaseDeDonnees : Caractere Lecture Public Trace;
NomServeur : Caractere Lecture Public Trace;
EstSynchronisee : Booleen Lecture Public;
FormatDeLaBaseDeDonnees : FormatsBaseDeDonneesSupportes Lecture Public;
TableauParametreSupporte : Booleen Lecture Public;
TableauResultatSupporte : Booleen Lecture Public;
ListerTablesSupporte : Booleen Lecture Public;
ListerClesPrimairesSupporte : Booleen Lecture Public;
ListerClesEtrangeresSupporte : Booleen Lecture Public;
ListerIndexSupporte : Booleen Lecture Public;
ListerProceduresSupporte : Booleen Lecture Public;
ListerCatalogueSupporte : Booleen Lecture Public;
ListerSchemasSupporte : Booleen Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'ITransaction. */
/*-------------------------------------------------------------*/
Public :
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IConnexionSql. */
/*-------------------------------------------------------------*/
Fonction CreerOrdreSql(NomOrdreSql : Caractere, SourceOrdreSql : Caractere, TTR : Entier=1, TTP : Entier=1, TDG : Entier=0) Retourner Nul Ou IOrdreSql;
Procedure ExecuterBlocSql(NomBlocSql : Caractere, SourceBlocSql : Caractere, TDG : Entier=0);
Procedure ExecuterOrdreSql(NomOrdreSql : Caractere, SourceOrdreSql : Caractere, NbEnregistrementsImpactes : Entier=? Sortie, TDG : Entier=0);
Procedure Prendre();
Procedure Lacher();
Fonction Habilitation ListerTables(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, SorteDesTables : Nul Ou SorteTablesSupportees=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerColonnesTables(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, NomColonne : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerClesPrimaires(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerClesEtrangeres(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerIndex(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomTable : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerProcedures(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomProcedure : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerParametresProcedures(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, NomProcedure : Nul Ou Caractere=Nul, NomParametre : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerCatalogues(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
Fonction Habilitation ListerSchemas(NomProprietaire : Nul Ou Caractere=Nul, NomCatalogue : Nul Ou Caractere=Nul, NomSchema : Nul Ou Caractere=Nul, TTR : Entier=1, ModeOptimisation : ModeOptimisationFlux=Asynchrone4096) Retourner Nul Ou IResultatRequete;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation (U : Nul Ou Caractere=Nul, M : Nul Ou Caractere=Nul, B : Nul Ou Caractere=Nul);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type ConnexionOdbc modélise une connexion vers une source de données Open DataBase Connectivity (ODBC).
Il peut exister simultanément plusieurs connexions Odbc pour une ou plusieurs tâches.
Le type ConnexionOdbc possède un constructeur implicite dont les paramètres sont les suivants :
Les transactions des connexions Odbc ne peuvent être synchronisées par Up ! Object Management System avec les transactions des tâches parce que la norme Odbc ne supporte pas cette fonctionnalité.
Selon les valeurs des paramètres UpsOdb.NbConnexionsMin et UpsOdb.NbConnexionsMax, la connexion physique peut être issue d'un recyclage à son ouverture ou recyclée à sa fermeture si l'utilisateur, le mot de passe et la base de données sont identiques à ceux donnés par le paramètre UpsOdb.Connexion.
Type TA Transactionnel Defaut
/***************************/
C : Caractere;
Constructeur();
Fin Type
Principal
/*******/
Variable
/******/
T : TA;
C : Nul Ou ConnexionOdbc;
C2 : Nul Ou ConnexionOdbc;
Debut
T.C="coucou";
C.Valider();
/* On valide la modification. */
Ecran.Ecrire(T.C+"\n");
T.C="hello";
C.Invalider();
/* On invalide la modification. */
Ecran.Ecrire(T.C+"\n");
Si C==C2 Alors
/* Egalité entre deux connexions. */
...
Fin Si
Si C!=C2 Alors
/* Inégalité entre deux connexions. */
...
Fin Si
Fin Principal
- | - | - | - | - | - | - | - | - |