Può capitare di avere in una colonna di una tabella dei valori stringa che occorre verticalizzare, ma il problema è che occorre effettuare la verticalizzazione senza utilizzare pl-sql ma solo una query sql.
Allora uno pensa utilizzaziamo le funzioni di UNPIVOT o PIVOT e no quelle funzionano per inserire i dati in una colonna e nel nostro caso non vanno bene.
Supponiamo di avere in un campo di una tabella i seguenti valori:
TEMPLATE
-----------------------
A.A.A_B.D.D
A.HH_B.GGG_C.L.L_D.KK.J
S.S_S.D.D
Quello che dobbiamo avere in output è che in corrispondenza degli "_" verticalizziamo il risultato. Quindi il risultato finale deve essere:
TEMPLATE
-----------------------
A.A.A
B.D.D
A.HH
B.GGG
C.L.L
D.KK.J
S.S
S.D.D
Il problema in questo caso è che dobbiamo fare un ciclo in sql per poter splittare il risultato presente nella colonna.
Come facciamo?
Di seguito una semplice query che ci permette di ottenere il risultato voluto.
WITH
TEST AS (SELECT TEMPLATE ,regexp_count(TEMPLATE, '_') REG_C FROM
(SELECT 'A.A.A_B.D.D' TEMPLATE FROM DUAL UNION ALL
SELECT 'A.HH_B.GGG_C.L.L_D.KK.J' TEMPLATE FROM DUAL UNION ALL
SELECT 'S.S_S.D.D' TEMPLATE FROM DUAL)),
MX AS (SELECT MAX(REGEXP_COUNT(TEMPLATE, '_'))+1 CC FROM TEST)
SELECT STRING_VERTICALE,TEMPLATE_ORIGINALE,REG_C,RN
FROM
(
SELECT CASE WHEN REG_C>0 THEN
SUBSTR(regexp_substr(TTEST.TEMPLATE, '[^_]+', 1, MXX.RN), 0, LENGTH(regexp_substr(TTEST.TEMPLATE, '[^_]+', 1, MXX.RN)))
ELSE TTEST.TEMPLATE END STRING_VERTICALE,
TTEST.TEMPLATE TEMPLATE_ORIGINALE,TTEST.REG_C,MXX.RN
FROM
(SELECT TEMPLATE, REG_C FROM TEST) TTEST ,
(SELECT ROWNUM RN FROM CAT WHERE ROWNUM <=(SELECT CC FROM MX)) MXX
)
WHERE STRING_VERTICALE IS NOT NULL;
Il risultato ottenuto è il seguente:
venerdì 28 aprile 2017
venerdì 21 aprile 2017
OBIEE 12c - Installation Guide on IaaS and repository into DBCS
Oggi
vediamo, in maniera superficiale, l’installazione e la configurazione dei
moduli applicativi Oracle BI 12.2.1.2.0 ed in particolare i seguenti
moduli:
- · Weblogic Console
- · Enterprise Manager Console
- - Oracle Business Intelligence
- · Oracle Business Publisher
- · Oracle Visual Analyzer
Occorre come prima cosa scaricarsi il sw dal sito oracle:
·
Download del seguente software dal sito Oracle:
a. fmw_12.2.1.2.0_bi_linux64_Disk1_1of2.zip
b. fmw_12.2.1.2.0_bi_linux64_Disk1_2of2.zip
c. fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip
d. jdk-8u121-linux-x64.tar.gz
A seguito del download occorre effettuare I seguenti macro
passi:
1. Installazione JDK
2. Installazione Infratruttura BI
3. Installazione software BI
4. Creazione Repository mediante utility RCU
5. Configurazione del dominio BI
6. Check Start Processi
7. Troubleshooting
1. Installazione JDK – Sviluppo / Produzione
[oracle@localhost01 ODI]$ cp -p
jdk-8u121-linux-x64.tar.gz ../../product/java/
[oracle@localhost01 ODI]$ cd /u01/product/java
[oracle@localhost01
java]$ ll
total 178952
-rw-r--r-- 1 oracle oinstall 183246769 Apr 6 04:14 jdk-8u121-linux-x64.tar.gz
[oracle@localhost01
java]$ gunzip jdk-8u121-linux-x64.tar.gz
[oracle@localhost01
java]$ ll
total 363080
-rw-r--r-- 1 oracle oinstall 371793920 Apr 6 04:14 jdk-8u121-linux-x64.tar
[oracle@localhost01
java]$ tar -xvf jdk-8u121-linux-x64.tar
jdk1.8.0_121/
jdk1.8.0_121/THIRDPARTYLICENSEREADME-JAVAFX.txt
jdk1.8.0_121/THIRDPARTYLICENSEREADME.txt
jdk1.8.0_121/lib/
…
[oracle@localhost01 java]$ ll jdk1.8.0_121/
total 25924
drwxr-xr-x 2 oracle oinstall 4096 Dec 12 19:47 bin
-r--r--r-- 1 oracle oinstall 3244 Dec 12 19:46 COPYRIGHT
drwxr-xr-x 4 oracle oinstall 4096 Dec 12 19:46 db
drwxr-xr-x 3 oracle oinstall 4096 Dec 12 19:46 include
-rwxr-xr-x 1 oracle oinstall 5094116 Dec 12 15:10 javafx-src.zip
drwxr-xr-x 5 oracle oinstall 4096 Dec 12 19:46 jre
drwxr-xr-x 5 oracle oinstall 4096 Dec 12 19:47 lib
-r--r--r-- 1 oracle oinstall 40 Dec 12 19:46 LICENSE
drwxr-xr-x 4 oracle oinstall 4096 Dec 12 19:46 man
-r--r--r-- 1 oracle oinstall 159 Dec 12 19:46 README.html
-rw-r--r-- 1 oracle oinstall 526 Dec 12 19:46 release
-rw-r--r-- 1 oracle oinstall 21116095 Dec 12 19:46
src.zip
-rwxr-xr-x 1 oracle oinstall 110114 Dec 12 15:10
THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r-- 1 oracle oinstall 177094 Dec 12 19:46
THIRDPARTYLICENSEREADME.txt
2. Installazione Infrastruttura BI
Effettuare l’unzip del software
ed eseguirlo, si aprire una GUI che occorrerà seguire fino alla fine.
unzip -q
fmw_12.2.1.0.0_infrastructure_Disk1_1of1.zip
java -jar fmw_12.2.1.2.0_infrastructure.jar
3. Installazione software BI:
Effettuare l’unzip del software
ed eseguirlo, si aprire una GUI che occorrerà seguire fino alla fine.
unzip -q
fmw_12.2.1.0.0_bi_linux64_Disk1_1of2.zip
unzip -q
fmw_12.2.1.0.0_bi_linux64_Disk1_2of2.zip
./bi_platform-12.2.1.0.0_linux64.bin
4. Creazione Repository mediante utility RCU
Posizionarsi nella directory
cd <fmw_home>/oracle_common/bin
./rcu
Anche qui una volta startata la
GUI eseguire i passi richiesti fino alla fine. Ad un certo punto viene
richiesto un prefisso da assegnare agli schema che deve creare sul database, di
solito si utilizza DEV per sviluppo, UAT per test e PRD per produzione ma nulla
vieta di inserirne uno qualsiasi. La cosa importante è non superare i 30
caratteri nel nome dei vari schema. Verrà richiesta una utenza sysdba poiché verranno
creati circa 9 schema con relativi tablespaces di temp e dati.
Al termine verificando i log
avremo:
5. Configurazione del dominio BI
Posizionarsi sulla directory del
software BI installato nei passi precedenti ed eseguire lo script
cd <bi_software>/bi/bin
./config.sh
Anche in questo caso si aprirà
una gui da seguire ed in cui inserire le informazioni relativo al nome del
dominio e della directory in cui installarlo. Le credenziali di accesso a
weblogic ed i riferimenti degli schema creati al passo precedente.
Al termine dell’installazione vi
apparira la configurazione indicata sotto se non ci sono problemi.
Purtroppo in alcuni casi, come in
questo tipo di installazione, alcuni processi non effettueranno lo startup e
quindi anche se l’installazione del dominio è avvenuta correttamente. Per
sapere come andare a finire l’installazione vedere lo step Troubleshooting.
Dando per scontato che tutto sia
andato bene avremo la seguente configurazione:
- CONFIGURAZIONE
Configure
Configuration
Components
BIEE
OBIPS (Port 9507)
Cluster controller (Main port
9508, monitor 9509)
Java host (Port 9510)
Scheduler (Main port
9511, monitor 9512, script 9513)
BIP
Domain
BI Domain
Name: bi
Domains Directory: <FMW_HOME>/user_projects/domains
Admin server (HTTP port 9500,
HTTPS 9501, internal 9504)
Managed
server (HTTP port 9502, HTTPS 9503, internal 9505)
Database
Existing
schemas
Database type: ORACLE
Connect string: <DB
CONNECTION STRING>
Existing RCU prefix: DEV
Port
Management
Port range
Port
range start: 9500
Port
range end: 9999
Application
SampleAppLite
Service
Instance Key: ssi
Service
Instance Limit: 1
Entry points
WebLogic
Console
http://<hostname>:9500/console
Fusion
Middleware Control
http:// <hostname>:9500/em
BI Publisher
http:// <hostname>:9502/xmlpserver
BI Analytics
http:// <hostname>:9502/analytics
Visual Analyzer
http:// <hostname>:9502/va
6. Check Start Processi
Per poter procedere allo start
dei servizi basta spostarsi nella directory del dominio
domains/bi/bitools/bin
Qui saranno presenti gli script
di start, stop e status che permettono di effettuare lo start di tutte le
componeti.
[oracle@localhostdev01
bin]$ ./start.sh
Starting domain; Using domainHome:
/u01/product/fmw122120/BI/BI12/user_projects/domains/bi [...]
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting
Shell
Type help() for help on available commands
NodeManager already running
Reading domain...
/Servers/AdminServer/ListenPort=9500
Accessing admin server using URL t3://localhostdev01:9500
AdminServer already running
Starting all servers ...
Server bi_server1 not started as already in state
(RUNNING)
Server obiccs1 not started as already in state
(RUNNING)
Starting obis1 (Original State:SHUTDOWN) ...
Started obis1
Starting obips1 (Original State:SHUTDOWN) ...
Started obips1
Server obijh1 not started as already in state
(RUNNING)
Starting obisch1 (Original State:SHUTDOWN) ...
Started obisch1
Finished starting servers
Status of Domain:
/u01/product/fmw122120/BI/BI12/user_projects/domains/bi
NodeManager (localhostdev01:9506): RUNNING
Name
Type Machine Status
----
---- ------- ------
AdminServer
Server localhostdev01 RUNNING
bi_server1
Server localhostdev01 RUNNING
obips1
OBIPS localhostdev01 RUNNING
obijh1
OBIJH localhostdev01 RUNNING
obiccs1
OBICCS localhostdev01 RUNNING
obisch1
OBISCH localhostdev01 RUNNING
obis1 OBIS localhostdev01 RUNNING
7. Troubleshooting
A questo punto se ricadiamo nel
caso che vi avevo indicato sopra occorrerà mettere mano ad alcuni files di
configurazione.
Però mi spiace non vi dirò quali
siano in quanto a questo punto… io che ci sto a fare?
Buon lavoro e Buon divertimento.
martedì 7 febbraio 2017
OWM - Set oracle workspace from java application
For the connect to an Oracle database 12c which uses Oracle Workspace Manager from a java application.
It is possible trying to execute the following command from my java application.
From pl-sql
in the java code
It is possible trying to execute the following command from my java application.
From pl-sql
EXECUTE DBMS_WM.GotoWorkspace('WORKSPACE_NAME');
in the java code
String setWorkspace = "CALL DBMS_WM.GotoWorkspace('WORKSPACE_NAME')";
CallableStatement cs = conn.prepareCall(setWorkspace);
cs.execute();
giovedì 22 dicembre 2016
JAVA - Portable Java 8 JDK on Windows
Spesso se si è in ambienti protetti, e quando dico protetti significa che non puoi installare nulla sulla macchina che ti hanno messo a disposizione, se devi installare una JDK per far funzionare SQLDeveloper possono sorgere dei problemi.
Per questo oggi vediamo come installare una JDK 8 su Windows partendo dal file di installazione exe.
Ecco di seguito i vari passi:
A questo punto avete installato una JDK 8 Portable e funzionante.
Per questo oggi vediamo come installare una JDK 8 su Windows partendo dal file di installazione exe.
Ecco di seguito i vari passi:
- Download Java 8 SDK for Windows from Oracle. Io ho fatto il download di jdk-8u111-windows-x64.exe.
- Aprire il .exe con un tool che effettui gli unzip, esempio 7-Zip o altri
- Navigare sotto la directory .rsrc fino a
- ..\Downloads\jdk-8u111-windows-x64.exe\.rsrc\1033\JAVA_CAB10\111\
- Qui si trova un denominato tools.zip.
- Aprirlo e scompattarlo in una directory ..\Java\jdk1.8.0_111\ estraendone il contenuto
- A questo punto una volta estratti tutti i record, poizionarsi nella home della directoy java ed eseguire da una finestra dos il seguente comando:
for /R %f in (.\*.pack) do @"%cd%\bin\unpack200" -r -v -l "" "%f" "%~pf%~nf.jar"- Se tutto termina correttamente effettuare per sicurezza un reboot della macchina Windows ed aprire poi SQLDeveloper fornendo il path della directory java.
- Fare una prova effettuando un javac -version
A questo punto avete installato una JDK 8 Portable e funzionante.
lunedì 5 dicembre 2016
ODI 11g-12c - Groovy Come creare un utente ODI ed assegnazione profili
Di seguito due script per la creazione di un utente ODI con relativa assegnazione di profili. Di seguito due versioni una per ODI 11g e una per ODI 12c, la seconda utilizza delle funzioni che possono essere richiamata all'interno di un main.
import oracle.odi.core.persistence.transaction.support.DefaultTransactionDefinition;
import oracle.odi.core.persistence.transaction.ITransactionDefinition;
import oracle.odi.core.persistence.transaction.ITransactionManager;
import oracle.odi.core.persistence.transaction.ITransactionStatus;
// Secutity class:
import oracle.odi.domain.security.finder.IOdiUserFinder
import oracle.odi.domain.security.OdiUserCreationServiceImpl
import oracle.odi.domain.security.OdiUser
import oracle.odi.domain.security.OdiProfile;
import oracle.odi.domain.security.finder.IOdiProfileFinder
// Variabili
def txnDef = new DefaultTransactionDefinition()
def tm = odiInstance.getTransactionManager()
def txnStatus = tm.getTransaction(txnDef)
String username="PIPPO";
String pwd="PIPPO1";
String supervisor="false";
expirationDate=null;
try {
odiUser = ((IOdiUserFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class)).findByName(username);
println(" User :-->"+odiUser.getName());
println(" User Note :-->"+odiUser.getNotes());
println(" Pwd Date Expire :-->"+odiUser.getPasswordExpiracyDate());
println(" Expiracy Date :-->"+odiUser.getAccountExpiracyDate());
Collection odiUserPro =(odiUser.getOdiProfileList())
for (Object kk : odiUserPro) {
OdiProfile odiPro =(OdiProfile)kk ;
println(" Profile :-->"+odiPro.getOdiProfileList().getProfileName());
println(" Profile :-->"+odiPro.getOdiProfileList().getInternalId());
}
}catch(NullPointerException e_101){
// obtaining the generic profiles
genericprofile_connect = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("CONNECT") ;
genericprofile_designer = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("DESIGNER") ;
genericprofile_topology_admin = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("TOPOLOGY ADMIN") ;
// creating user
OdiUserCreationServiceImpl service = new OdiUserCreationServiceImpl(odiInstance)
OdiUser newUser = service.createOdiUser(username, pwd.toCharArray(), supervisor.toBoolean(), expirationDate );
// adding profiles to the user
newUser.addOdiProfile(genericprofile_connect);
newUser.addOdiProfile(genericprofile_designer);
newUser.addOdiProfile(genericprofile_topology_admin);
NewodiUser = ((IOdiUserFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class)).findByName(username);
println(" User :-->"+NewodiUser.getName());
println(" User Note :-->"+NewodiUser.getNotes());
println(" Pwd Date Expire :-->"+NewodiUser.getPasswordExpiracyDate());
println(" Expiracy Date :-->"+NewodiUser.getAccountExpiracyDate());
}
tm.commit(txnStatus)
import oracle.odi.domain.model.finder.IOdiDataStoreFinder
import oracle.odi.domain.project.finder.IOdiFolderFinder
import oracle.odi.domain.project.finder.IOdiKMFinder
import oracle.odi.domain.mapping.finder.IMappingFinder
import oracle.odi.domain.adapter.project.IKnowledgeModule.ProcessingType
import oracle.odi.domain.model.OdiDataStore
import oracle.odi.core.persistence.transaction.support.DefaultTransactionDefinition
import oracle.odi.domain.security.finder.IOdiUserFinder
import oracle.odi.domain.security.OdiUserCreationServiceImpl
import oracle.odi.domain.security.OdiUser
import oracle.odi.core.OdiInstance
import oracle.odi.domain.security.OdiProfile;
// creating user (Pippo)
def new_user(user, pwd, supervisor ) {
expirationDate = null
txnDef = new DefaultTransactionDefinition()
tm = odiInstance.getTransactionManager()
tme = odiInstance.getTransactionalEntityManager()
txnStatus = tm.getTransaction(txnDef)
// checking if whether user exists
userf = (IOdiUserFinder) tme.getFinder(OdiUser.class)
// creating user
OdiUserCreationServiceImpl service = new OdiUserCreationServiceImpl(odiInstance)
OdiUser newUser = service.createOdiUser(user, pwd.toCharArray(), supervisor.toBoolean(), expirationDate );
tm.commit(txnStatus)
return newUser
}
def adding_profiles(username) {
txnDef = new DefaultTransactionDefinition()
tm = odiInstance.getTransactionManager()
tme = odiInstance.getTransactionalEntityManager()
txnStatus = tm.getTransaction(txnDef)
// finding the user
user = odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class).findByName(username) ;
// obtaining the generic profiles
genericprofile_connect = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("CONNECT") ;
genericprofile_designer = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("DESIGNER") ;
genericprofile_topology_admin = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("TOPOLOGY ADMIN") ;
// adding profiles to the user
user.addOdiProfile(genericprofile_connect);
user.addOdiProfile(genericprofile_designer);
user.addOdiProfile(genericprofile_topology_admin);
tm.commit(txnStatus)
return user;
}
// add odi user "Pippo " and grant profiles like CONNECT, DESIGNER, TOPOLOGY ADMIN
FirstUser1 = new_user("Pippo", "1234abcd5678","false")
FirstUser1Profiles = adding_profiles("Pippo")
Provate e fatemi sapere
- ODI 11g
import oracle.odi.core.persistence.transaction.support.DefaultTransactionDefinition;
import oracle.odi.core.persistence.transaction.ITransactionDefinition;
import oracle.odi.core.persistence.transaction.ITransactionManager;
import oracle.odi.core.persistence.transaction.ITransactionStatus;
// Secutity class:
import oracle.odi.domain.security.finder.IOdiUserFinder
import oracle.odi.domain.security.OdiUserCreationServiceImpl
import oracle.odi.domain.security.OdiUser
import oracle.odi.domain.security.OdiProfile;
import oracle.odi.domain.security.finder.IOdiProfileFinder
// Variabili
def txnDef = new DefaultTransactionDefinition()
def tm = odiInstance.getTransactionManager()
def txnStatus = tm.getTransaction(txnDef)
String username="PIPPO";
String pwd="PIPPO1";
String supervisor="false";
expirationDate=null;
try {
odiUser = ((IOdiUserFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class)).findByName(username);
println(" User :-->"+odiUser.getName());
println(" User Note :-->"+odiUser.getNotes());
println(" Pwd Date Expire :-->"+odiUser.getPasswordExpiracyDate());
println(" Expiracy Date :-->"+odiUser.getAccountExpiracyDate());
Collection odiUserPro =(odiUser.getOdiProfileList())
for (Object kk : odiUserPro) {
OdiProfile odiPro =(OdiProfile)kk ;
println(" Profile :-->"+odiPro.getOdiProfileList().getProfileName());
println(" Profile :-->"+odiPro.getOdiProfileList().getInternalId());
}
}catch(NullPointerException e_101){
// obtaining the generic profiles
genericprofile_connect = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("CONNECT") ;
genericprofile_designer = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("DESIGNER") ;
genericprofile_topology_admin = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("TOPOLOGY ADMIN") ;
// creating user
OdiUserCreationServiceImpl service = new OdiUserCreationServiceImpl(odiInstance)
OdiUser newUser = service.createOdiUser(username, pwd.toCharArray(), supervisor.toBoolean(), expirationDate );
// adding profiles to the user
newUser.addOdiProfile(genericprofile_connect);
newUser.addOdiProfile(genericprofile_designer);
newUser.addOdiProfile(genericprofile_topology_admin);
NewodiUser = ((IOdiUserFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class)).findByName(username);
println(" User :-->"+NewodiUser.getName());
println(" User Note :-->"+NewodiUser.getNotes());
println(" Pwd Date Expire :-->"+NewodiUser.getPasswordExpiracyDate());
println(" Expiracy Date :-->"+NewodiUser.getAccountExpiracyDate());
}
tm.commit(txnStatus)
- ODI 12c
import oracle.odi.domain.model.finder.IOdiDataStoreFinder
import oracle.odi.domain.project.finder.IOdiFolderFinder
import oracle.odi.domain.project.finder.IOdiKMFinder
import oracle.odi.domain.mapping.finder.IMappingFinder
import oracle.odi.domain.adapter.project.IKnowledgeModule.ProcessingType
import oracle.odi.domain.model.OdiDataStore
import oracle.odi.core.persistence.transaction.support.DefaultTransactionDefinition
import oracle.odi.domain.security.finder.IOdiUserFinder
import oracle.odi.domain.security.OdiUserCreationServiceImpl
import oracle.odi.domain.security.OdiUser
import oracle.odi.core.OdiInstance
import oracle.odi.domain.security.OdiProfile;
// creating user (Pippo)
def new_user(user, pwd, supervisor ) {
expirationDate = null
txnDef = new DefaultTransactionDefinition()
tm = odiInstance.getTransactionManager()
tme = odiInstance.getTransactionalEntityManager()
txnStatus = tm.getTransaction(txnDef)
// checking if whether user exists
userf = (IOdiUserFinder) tme.getFinder(OdiUser.class)
// creating user
OdiUserCreationServiceImpl service = new OdiUserCreationServiceImpl(odiInstance)
OdiUser newUser = service.createOdiUser(user, pwd.toCharArray(), supervisor.toBoolean(), expirationDate );
tm.commit(txnStatus)
return newUser
}
def adding_profiles(username) {
txnDef = new DefaultTransactionDefinition()
tm = odiInstance.getTransactionManager()
tme = odiInstance.getTransactionalEntityManager()
txnStatus = tm.getTransaction(txnDef)
// finding the user
user = odiInstance.getTransactionalEntityManager().getFinder(OdiUser.class).findByName(username) ;
// obtaining the generic profiles
genericprofile_connect = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("CONNECT") ;
genericprofile_designer = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("DESIGNER") ;
genericprofile_topology_admin = odiInstance.getTransactionalEntityManager().getFinder(OdiProfile.class).findByName("TOPOLOGY ADMIN") ;
// adding profiles to the user
user.addOdiProfile(genericprofile_connect);
user.addOdiProfile(genericprofile_designer);
user.addOdiProfile(genericprofile_topology_admin);
tm.commit(txnStatus)
return user;
}
// add odi user "Pippo " and grant profiles like CONNECT, DESIGNER, TOPOLOGY ADMIN
FirstUser1 = new_user("Pippo", "1234abcd5678","false")
FirstUser1Profiles = adding_profiles("Pippo")
Provate e fatemi sapere
Iscriviti a:
Post (Atom)
