D.N.T.

SITO IN COSTRUZIONE

GeckoStreet…I love it!

April2

I love Gecko
gecko2
GeckoStreet…I love it!
GeckoStreet

www.geckostreet.it lo skateshop conveniente,
le migliori marche street&skate a prezzi convenienti e senza costi di spedizione,
adio globe dvs lakai vans dc shoes etnies dickies ecko’ protest volcom
supra hurley nike 6.0 zoo york atticus emily the strange.

Installazione Oracle Express 10g e JDeveloper 11g in Ubuntu

March15

Pochi semplici passi per installare il vostro db “preferito”…

  1. sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5
  2. aggiungiamo un nuovo repository per synaptic:
    1. sudo vim /etc/apt/sources.list
    2. alla fine del file inseriamo la riga: deb http://oss.oracle.com/debian unstable main non-free
  3. sudo apt-get update
  4. a questo punto dovremmo vedere una cosa del genere: «W: GPG error: http://oss.oracle.com unstable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 2E2BCDBCB38A8516». Per risolvere il problema, dobbiamo procedere all’autenticazione del pacchetto:
    1. sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle
    2. sudo apt-key add RPM-GPG-KEY-oracle
  5. sudo apt-get update
  6. sudo apt-get install oracle-xe-universal
  7. Come suggerito a fine installazione, digitiamo: sudo /etc/init.d/oracle-xe configure. Da qui sara’ possibile impostare le porte da utilizzare per la connessione, la password per l’utente SYSTEM (admin dei db oracle) e l’opzione per avviare o meno il db al boot (in ogni caso il db sara’ avviato a fine configurazione).
  8. verificare lo stato del server oracle: sudo /etc/init.d/oracle-xe status

Al termine dell’installazione dovremmo avere “dba” come nuovo gruppo utenti…per poter accedere al db dovremmo aggiungervi il nostro utente:

  1. verifichiamo a quali gruppi apparteniamo:  groups NOME_UTENTE
  2. nel caso non dovesse comparire “dba” nell’elenco, digitiamo:  useradd -G dba NOME_UTENTE

Sembra essere tutto apposto adesso: possiamo accedere alla home page del db (suggerita a fine log di configurazione), possiamo gestirlo…ma come facciamo ad importare il dump di un nostro precedente db?

In realta’ per un completo utilizzo del server oracle, dovremo settare correttamente le variabili ambiente:

  1. mettiamoci nel classpath di installazione di Oracle Express, nel mio caso “/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
  2. copiamo lo script per il set degli “environment variable path”:  sudo cp oracle_env.sh /etc/profile.d/
  3. contollando i valori delle variabili ambiente con echo $ORACLE_HOME, $ORACLE_SID dovremmo avere un output del genere: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server, XE

A questo punto dovremmo aver finito!

P.S: ricordiamoci, nel caso in cui non avessimo scelto l’opzione di far partire oracle al boot, di avviare il server con il comando:  sudo /etc/init.d/oracle-xe restart

Mettiamo subito alla prova il nostro db con bell’import:

  1. imp userid=USER/PSW file=”NOME_FILE_DUMP.dmp” full=Y

Se abbiamo fatto tutto correttamente (in particolare il set delle variabili ambiente) non dovremmo riscontrare problemi…tuttavia è possibile avere errori di questo tipo:

IMP-00058: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
IMP-00005: all allowable logon attempts failed
IMP-00000: Import terminated unsuccessfully

Questo problema si risolve banalmente riavviando il server! Diverso invece il caso di questo errore apparentemente simile:

IMP-00058: ORACLE error 1034 encountered
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
IMP-00005: all allowable logon attempts failed
IMP-00000: Import terminated unsuccessfully

Questo errore, per quanto mi riguarda, restera’ sempre un mistero! Ho verificato i permessi di tutti i file ma non ho riscontrato nessuna anomalia, soprattutto considerando il fatto di aver gia’ aggiunto il mio utente al gruppo “dba”. Ho comunque risolto il problema sostituendo il pacchetto oracle-xe con oracle-xe-universal (vedi punto 6 dell’installazione).

N.B: Pe avere una visione piu’ dettagliata dei file ai quali il server non riesce ad accedere, consiglio di visionare il file di log che è possibile creare digitando: strace sqlplus /nolog 2> strace.log

N.B. avvio di JDev:

  • PATH_JDEV/jdev/bin$ ./jdev

Nel caso in cui dovesse comparire, su terminale, un messaggio simile:

Oracle JDeveloper 11g Technology Preview 4 11.1.1.0.0 Copyright (c) 2008, Oracle. All rights reserved.

Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ~/.jdev_jdk

Per proseguire, specificate appunto il path della vostra jvm; nel mio caso: /usr/lib/jvm/java-1.5.0-sun/

PASSI OPZIONALI:

SQL Developer

Dal sito Oracle è possibile scaricare un’ottima applicazione per l’organizzazione e la gestione dei database Oracle, SQL Developer.

Scaricate il programma ed unzippatelo. Dalla cartella creata “sqldeveloper” eseguiamo il comando:

  • sh sqldeveloper

A questo punto ci verra’ chiesto di inserire nuovamente il path della JDK.

Oracle: importazione database.dmp

March15

Per importare il nostro database oracle:

apriamo il terminale (menu start -> Esegui -> “cmd”) e digitiamo il comando:

imp userid=UTENTE/PASSWORD file=PATH\DUMP_DATABASE.dmp full=”y”

JDeveloper: Come creare da zero una pagina web

June23

COSA OCCORRE: database Oracle avviato, JDeveloper avviato e connesso al database.

TEMPO NECESSARIO: 5min.

COME FARE:

1. Dal pannello “Application Navigaror”, click dx su “Applications”
2. Click sx su “New Application”; si aprira’ cosi’ il dialog “Create Application”
3. Dal menu a tendina “Application Template” selezionare l’opzione “Web Application [JSF,ADF BC]”
Automaticamente verra’ generata la nostra applicazione con 2 sotto progetti: “Model” e “ViewController”

4. Click dx sul progetto “Model” e scegliere l’opzione “New”; si aprira’ cosi’ il dialog “New Gallery”

5. Espandiamo la voce “Business Tier” e scegliamo “ADF Business Components”

6. Assicuriamoci che sia selezionata la voce “Business Components from Tables” e proseguiamo seguendo le istruzioni del Wizard. JDeveloper ci guidera’ fino a farci creare “inconsciamente” tutti i ViewObject, ViewLink e ApplicationModule necessari per operare sulle tabelle desiderate.

7. A wizard ultimato, dal pannello “Application Navigator”, click dx sul secondo progetto”ViewController” e scelta dell’opzione “New”; si aprira’ cosi’ il dialog “New Gallery”
8. Espandiamo il menu “Web Tier” e selezioniamo l’opzione “JSF”; accertiamoci che nel menu’ di destra sia selezionata la voce “JSF JSP” e proseguiamo col nuovo wizard. Questa volta JDeveloper ci assistera’ per la creazione della pagina vera e propia.

N.B. per poter utilizzare i componenti ADF, è necessario importare le opportune librerie in questo passaggio: Dal wizard “Create JSF JSP – Step 3 of 4: Tag Libraries” selezionare quelle relative agli “ADF Faces”.

Fine!

Se volessimo inserire nella nostra pagina una tabella contenete il risultato di una query…nulla di piu’ facile:

9. Dal pannello “Data Controls”, espandere la voce “AppModuleDataControl”

10. Da qui è possibile visualizzare tutti i VO, creati col primo tutorial. Basta trascinarli sulla nostra pagina web per avere, nel formato desiderato, la stampa dei relativi risulati.

N.B: trascinando tutto il ViewObject ci verra’ stampata una tabella con il risultato della Query; trascinando un unico attributo (ricavabile espandendo il VO) ci verra’ invece stampato un semplice “Output Text”

Bene! A questo punto non ci resta che provare il tutto:

11. Dalla toolbar, click sx sul bottone “Run”.

JDeveloper: Importazione “manuale” e Test di “vecchie” applicazioni

June20

Premesso che questo post (e tutti gli errori che ne seguono) nasce a causa dell’uso “improprio” di JDeveloper. Vediamo come importare una nostra “vecchia” applicazione, avendo a disposizione solo la relativa cartella.

1) Per visualizzare l’applicazione su JDeveloper:

dall’Application Navigator cliccare su “Add to Application” e selezionare successivamente il file .jws relativo

2) Qualora non lo fosse, connettere Jdeveloper al database oracle (utilizzato da quella applicazione).

Bene! Con due semplici passaggi abbiamo importato tutti i processi desiderati nella nostra nuova applicazione… ma siamo sicuri che funzioni tutto? Testiamolo!

Dal pannello “Apllication Navigator”; clicchiamo col tasto destro sul nome delle varie Application Module dei nostri progetti (bastera’ farlo per una sola AM per package , il motivo lo scoprirete presto ma in ogni caso consiglio vivamente di inserire le AM relative a database uguali in un package apposito, non mischiatele mai ai relativi View Object) e selezioniamo la voce “Test”; Nella nuova finestra cosi’ aperta sara’ possibile, dopo aver scelto il Database da utilizzare, navigare tra i risultati dei vari ViewObject contenuti nell’ AM.

Se potete navigare il modulo senza problemi, risparmiatevi di leggere oltre!

Se invece visualizzare errori del tipo:

JBO-30003: Il pool delle applicazioni (.11AA546B406) non è riuscito ad estrarre un modulo applicativo a causa delleccezione riportata di seguito: oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class file

forse potrete trovare la soluzione al vostro problema qui di seguito.

Questa tipologia di errori (JBO-30003), a detta della documentazione ufficiale di Oracle, è causata da impossibilita’ , da parte dell’applicazione, di accedere al Database.

Come è possibile una cosa del genere se abbiamo gia’ configurato correttamente la connessione tra l’applicazione ed il database?

A quanto pare le Application Module dei progetti importati continuano a mantenere informazioni memorizzate in fase di compilazione!

Conferma di quanto detto la potrete avere consultando il file “bc4j.xcfg” , localizzato nel package della vostra AM sotto la cartella “common”, il quale contiene ancora nomi e password (criptata) dei precedenti database.

Il file è consultabile anche da JDeveloper stesso: Cliccare sul nome dell’AM ; nel pannello “Structure” apparira’ il relativo schema ad albero; sotto la cartella Source ci sara’ il nostro file, cliccatelo per visualizzarlo!

Soddisfatta la vostra curiosita’?! Bene! Perche’ da qui il file verra’ aperto in sola lettura!

SOLUZIONI:

Si potrebbe andare a modificare il file a manina… ma cosa inserire nel campo “password” ? Copiare dall’omonima riga di un “bc4j.xcfg” appartenente ad una AM funzionante che utilizza lo stesso DB?

Purtroppo non è cosi’ semplice… La password viene crittografata considerando altri fattori ancora a me ignoti… (AM di View Object su DB uguali utilizzano password differenti se situate in package differenti).

Fortunatamente la soluzione è meno intuitiva ma molto piu’ semplice!

Considerando che le AM condividono lo stesso fie di configurazione con tutte le altre AM appartenenti allo stesso pkg…

ci bastera’ creare una nuova AM per sovrascrivere con successo il file incriminato!

P.S: In ogni caso è vivamente consigliato di eseguire una ricompilazione di tutta l’applicazione!

Eliminate manualmente tutti i file .class contenuti nelle directory iportate; dopo di che’, dal pannello “Application Navigator” di JDeveloper, clicchiamo col tasto destro sul nome dell’applicazione e selezioniamo “Rebuild”

Orrore!! JDeveloper apre IE !!

June19

SOLUZIONE:

Dalla menu bar principale scegliamo “Tools” -> “Preferences”;

Cerchiamo nella lunga lista la voce “Web Browser and Proxy” ed indichiamo,nello spazio apposito,  l’eseguibile per avviare Firefox ;)

JDeveloper: Errori esecuzione progetto dopo ridenominazione

June19

E’ possibile che, mandando in esecuzione file “.jsp”, di progetti con riferimenti a package precedentemente rinominati, si abbiano degli errori del tipo: 500 Internal Server Error

JBO-30003: Il pool delle applicazioni (configuratore.ordineAMLocal) non è riuscito ad estrarre un modulo applicativo a causa delleccezione riportata di seguito:
oracle.jbo.JboException: JBO-29000: JBO-29000: JBO-26022: Impossibile trovare e caricare la classe personalizzata configuratore.ordineAMImpl

javax.faces.el.EvaluationException: oracle.jbo.NoDefException: JBO-25058: Definizione Num di tipo Attributo non trovata in ordine1Num

oracle.jbo.ConfigException: JBO-33005: Configurazione ordineAMLocal non trovata

SOLUZIONE:

Trattandosi di problemi relativi alla ridenominazione del progetto contenente l’AM… per risolverli basta eliminare i riferimenti alla “vecchia” AM e ricrearli!

Es.Il progetto contiene una AM di nome “ordineAM” che, a sua volta contiene il VO “ordine1″.

Nella pagina web possiamo visualizzare una stringa del tipo: #{bindings.ordine1Num.inputValue}

ossia, viene stampato l’attributo “Num” dal VO “ordine1″.

Bastera’ semplicemente ricreare questo riferimento per sistemare l’errore!

Eliminare la stringa incriminata. Successivamente, dal pannello “Data Controls”, riselezionare AM->VO->attribbuto e trascinarlo nella pagina.

JDeveloper: connessione al database Oracle

June19

Dal Connection Navigator cliccare col tasto dx su “Database” ,scegliere l’opzione “New Database Connection” e seguire il wizard

POSSIBILI ERRORI:

Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:ORCL

SOLUZIONE:

Tasto destro sulla connessione al database appena creata; selezionare “Properties” e modificare, dalla scheda “Connection”, il valore associato a “SID”

Il nostro SID sara’ proprio la prima voce: “NAME”.

Nel caso non si conoscesse questo valore, accedere al pannello di amministrazione oracle; Selezionare,dal menu “Home” l’icona “Administration”; Qui scegliere la voce “About Database” -> “Settings”.