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

Oracle Discussion :

[Forms 6i] connection à deux users


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Forms 6i] connection à deux users
    j'utilise forms 6i
    comment je peux connecter a un utilisateur dans le plsql pour utuliser es donnes dans un autre table
    si possible un exemple

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Le package Forms EXEC_SQL permet de se connecter à un autre utilisateur. Je ne sais, par contre s'il est disponible avec la version 6i et je n'ai pas d'exemple tout fait non plus.

  3. #3
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Voici un exemple trouvé sur Metalink.
    Cet exemple connecte sur 2 bases distinctes, mais la connexion dans la même base sur 2 users relève du même raisonnement

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    declare
    	empno              NUMBER;
    	ename		   VARCHAR2(10);
    	deptno		   NUMBER;
    	source_connid      EXEC_SQL.ConnType;
    	destination_connid EXEC_SQL.ConnType;
    	source_cursor      EXEC_SQL.CursType;
    	destination_cursor EXEC_SQL.CursType;
    	dummy		   PLS_INTEGER;
    begin
    -- open the connections
     
    	source_connid := EXEC_SQL.OPEN_CONNECTION(:source_db);
    	destination_connid := EXEC_SQL.OPEN_CONNECTION(:dest_db);
     
    -- prepare the cursor to select from source database
     
    	source_cursor := EXEC_SQL.OPEN_CURSOR(source_connid);
    	EXEC_SQL.PARSE(source_connid, source_cursor,'SELECT empno, ename,deptno FROM ' ||:source_tab);
    	EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,1,empno);
    	EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,2,ename,10);
    	EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,3,deptno);
    	dummy := EXEC_SQL.EXECUTE(source_connid,source_cursor);
     
    -- prepare the cursor to insert into destination database
     
    	destination_cursor := EXEC_SQL.OPEN_CURSOR(destination_connid);
    	EXEC_SQL.PARSE(destination_connid,destination_cursor,'INSERT INTO ' ||:dest_tab || 
    	  '(empno,ename,deptno) VALUES (:empno,:ename,:deptno)');
    	LOOP
     
    -- fetch rows from source database
     
    		IF EXEC_SQL.FETCH_ROWS(source_connid,source_cursor) > 0 THEN
     
    -- get column values for this row
     
    			EXEC_SQL.COLUMN_VALUE(source_connid,source_cursor,1, empno);
    			EXEC_SQL.COLUMN_VALUE(source_connid,source_cursor,2, ename);
    			EXEC_SQL.COLUMN_VALUE(source_connid,source_cursor,3, deptno);
     
    -- bind the column values into the cursor that inserts into destination database
     
    			EXEC_SQL.BIND_VARIABLE(destination_connid,destination_cursor, ':empno', empno);
    			EXEC_SQL.BIND_VARIABLE(destination_connid,destination_cursor, ':ename', ename);
    			EXEC_SQL.BIND_VARIABLE(destination_connid,destination_cursor, ':deptno', deptno);
    			dummy := EXEC_SQL.EXECUTE(destination_connid,destination_cursor);
    		ELSE
    			EXIT;
    		END IF;
    	END LOOP;
     
    -- commit transaction in destination database
     
    	EXEC_SQL.PARSE(destination_connid,destination_cursor,'commit');
    	dummy := EXEC_SQL.EXECUTE(destination_connid,destination_cursor);
     
    -- close cursors and connections
     
    	EXEC_SQL.CLOSE_CURSOR(destination_connid,destination_cursor);
    	EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor); 
    	EXEC_SQL.CLOSE_CONNECTION(destination_connid);
    	EXEC_SQL.CLOSE_CONNECTION(source_connid); 
    	MESSAGE('Done!');
    	EXCEPTION
     
    -- handle errors raised by the exec_sql package
     
    		WHEN EXEC_SQL.PACKAGE_ERROR THEN
    		  IF EXEC_SQL.LAST_ERROR_CODE(source_connid) != 0 THEN
    		  	TEXT_IO.PUT_LINE('ERROR (source: ' ||
    		  	  TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(source_connid))|| '): ' ||EXEC_SQL.LAST_ERROR_MESG(source_connid));
    		  END IF;
    		  IF EXEC_SQL.LAST_ERROR_CODE(destination_connid) != 0 THEN
    		  	TEXT_IO.PUT_LINE('ERROR (destination: ' ||
    		  	  TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(destination_connid))|| '): ' ||EXEC_SQL.LAST_ERROR_MESG(destination_connid));
    		  END IF;
    		  IF EXEC_SQL.IS_CONNECTED(destination_connid) THEN
    		  	IF EXEC_SQL.IS_OPEN(destination_connid,destination_cursor) THEN
    		  		EXEC_SQL.CLOSE_CURSOR(destination_connid,destination_cursor);
    		  	END IF;
    		  	EXEC_SQL.CLOSE_CONNECTION(destination_connid);
    		  END IF;
    		  IF EXEC_SQL.IS_CONNECTED(source_connid) THEN
    		  	IF EXEC_SQL.IS_OPEN(source_connid,source_cursor) THEN
    		  		EXEC_SQL.CLOSE_CURSOR(source_connid,source_cursor);
    		  	END IF;
    		  	EXEC_SQL.CLOSE_CONNECTION(source_connid);
    		  END IF;
    	END;

Discussions similaires

  1. [SP-2007] Connecter deux user control.
    Par museman dans le forum SharePoint
    Réponses: 2
    Dernier message: 24/04/2009, 22h31
  2. connecter deux écrans à un pc
    Par cynferdd dans le forum Composants
    Réponses: 6
    Dernier message: 13/10/2005, 14h37
  3. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  4. [forms web]connection
    Par Wessim dans le forum Forms
    Réponses: 3
    Dernier message: 18/06/2005, 13h39
  5. [MySQL] Se connecter à deux base de données en même temps ??
    Par leo13 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/01/2005, 10h36

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