/***************************************************************/
Type ConnexionMaxDB HeriteDe IConnexionSql Defaut TailleSegment 2 ConserverObjets
/* Objet : Interface correspondant aux connexions Max DB. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* 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, S : Nul Ou Caractere=Nul);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type ConnexionMaxDB modélise une connexion vers une base de données relationnelles Max DB de Sap.
Il peut exister simultanément plusieurs connexions vers Max DB pour une ou plusieurs tâches.
Le type ConnexionMaxDB possède un constructeur implicite dont les paramètres sont les suivants :
Les transactions des connexions vers Max DB ne peuvent être synchronisées par Up ! Object Management System avec les transactions des tâches parce que la norme SqlDbC ne supporte pas cette fonctionnalité.
Selon les valeurs des paramètres UpsMdb.NbConnexionsMin et UpsMdb.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 UpsMdb.Connexion.
Type TA Transactionnel Defaut
/***************************/
C : Caractere;
Constructeur();
Fin Type
Principal
/*******/
Variable
/******/
T : TA;
C : Nul Ou ConnexionMaxDB;
C2 : Nul Ou ConnexionMaxDB;
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
- | - | - | - | - | - | - | - | - |