(C) Copyright International Business Machines Corporation 2000, 2006. Tutti i diritti riservati. Limitazioni previste per gli utenti del Governo degli Stati Uniti - L'uso, la duplicazione o la divulgazione sono limitati dal GSA ADP Schedule Contract con la IBM(R) Corp.
Vi sono due nuovi tipi di progettazione dati nel workbench:
- Progettazione dati
- Progetti di sviluppo dati
Le progettazioni dati vengono utilizzate per creare e memorizzare modelli dati, ad esempio, modelli dati fisici e modelli dati logici. Le progettazioni dati vengono utilizzate per creare e memorizzare oggetti di sviluppo applicazione dati, quali le procedure memorizzate e le funzioni definite dall'utente (note anche come routine). Le routine possono essere esaminate anche da una progettazione dati come parte di un modello dati fisico. Tuttavia, il supporto di sviluppo per le routine da una progettazione dati è molto limitato e non vi è alcun supporto della strumentazione SQL per le routine in una progettazione dati. Se si stanno sviluppando delle routine, si consiglia di utilizzare il progetto di sviluppo dati designato, che fornisce un supporto più completo che include le procedure guidate, editor di routine, supporto di debug e l'integrazione della strumentazione SQL.
Editor dati tabella:
. Se si definisce una tabella con una sola colonna di tipo dati XML, oppure una qualsiasi tabella con righe non univoche e poi si utilizza un editor di tabelle per eliminare una riga, vengono eliminate tutte le righe che corrispondono alla riga selezionata. Per risolvere temporaneamente tale problema, non utilizzare l'editor dati tabella per eliminare una riga in una tabella con righe duplicate.. Nell'editor dati tabella, se si esegue una convalida XML su una tabella XML che non ha una chiave primaria, la convalida XML funzionerà solo la prima volta, quando si inserisce il valore XML. Inoltre, si verificherà un errore per l'aggiornamento di una colonna XML esistente con la convalida XML. Per risolvere temporaneamente tale problema, creare una chiave primaria per le tabelle che contengono le colonne XML.
Editor di associazione XSD annotato:
. Lavorare con più elementi root in tale editor potrebbe portare a degli errori quando si salva il file XSD annotato. Per risolvere temporaneamente questo problema, creare una serie separata di file di documento schema XML per ciascun elemento.
XML:
. Per poter utilizzare i tipi dati XML e lavorare con gli schemi XML, è necessario connettersi ad un database UTF -8.. La quantità di dati restituiti dal database per i documenti XML è illimitata. Le prestazioni possono essere influenzate dalla quantità di dati che vengono restituiti.
Strumentazione SQL:
. L'editor SQL non supporta correntemente le variabili dell'host durante l'azione Esegui SQL. Per risolvere temporaneamente tale problema, è possibile eseguire l'SQL dal generatore SQL, se si tratta di un'istruzione DML.. Nel generatore SQL, non viene supportata la sintassi SQL completa. Ad esempio, i tipi definiti dall'utente e le funzioni della tabella non sono supportate.
Sviluppo della routine:
. I tipi definiti dall'utente non vengono supportati come parametri per le routine.. Per sviluppare le procedure memorizzate Java(TM) che puntano a DB2(R) UDB for iSeries(TM) dal file system utilizzando la distribuzione Ant, è necessario assicurarsi di avere jt400.jar nel percorso classe del proprio sistema.
. Se si prova a distribuire una procedura memorizzata esportata utilizzando le istruzioni in DeployInstructions.txt, si potrebbe ricevere messaggio di errore:
...[createsp] Impossibile connettersi al database di destinazione.
[createsp] com.ibm.db2.jcc.DB2Driver...
Per risolvere temporaneamente questo problema, assicurarsi che db2jcc.jar e i file della licenza appropriati si trovino nel percorso classe del proprio sistema..Si potrebbe visualizzare un messaggio di errore "impossibile caricare la classe" quando si distribuiscono o si eseguono le procedure memorizzate Java. Ciò accade se non vi è una corrispondenza nella versione JDK tra RAD v7 e il server DB2, se il server DB2 è su un JDK di livello inferiore.
Per evitare questo errore, è necessario specificare l'opzione "-source 1.4" nel campo Opzioni di compilazione della procedura guidata Distribuzione routine durante la distribuzione delle procedure memorizzate Java sui server che utilizzano un livello JDK di 1.4 (ad esempio, un server di DB2 Universal Database(TM) per Linux(R), UNIX(R) e Windows(R) V8.2). Generalmente, utilizzare l'opzione di compilazione appropriata "-source JDK level " per far corrispondere il livello JDK sul server del database.. Quando si distribuisce una procedura memorizzata o UDF utilizzando la funzionalità di distribuzione Ant, si potrebbe visualizzare il seguente messaggio se non si dovesse avere il file tools.jar nel proprio percorso classe:
Impossibile trovare tools.jar. Dovrebbe trovarsi in F:\jre\1.4.2\lib\tools.jar
Il file tools.jar è parte del JRE (Java Runtime Environment), non parte dello strumento di distribuzione Ant.
Il file tools.jar non è necessario per eseguire lo script Ant e, per ora, è possibile ignorare tale messaggio.. Quando si modifica il nome del metodo Java nell'editor della procedura memorizzata, non è possibile salvare la procedura propriamente facendo clic con il tasto destro del mouse sulla pagina Origine dell'editor, quindi selezionando Salva. Per risolvere temporaneamente tale problema, salvare la procedura memorizzata facendo clic su File->Salva, premendo Ctrl+S oppure facendo clic sull'icona Salva.
. Se si trascina e rilascia una procedura memorizzata o UDF tra server diversi (ad esempio, da un server di DB2 UDB per Linux, UNIX e Windows ad un server DB2 UDB per z/OS(R)), si visualizzerà un'avvertenza durante l'operazione di trascinamento e rilascio relativo ad una certa incompatibilità tra i due server. Se si continua con l'operazione e poi si prova ad aprire la procedura memorizzata o UDF, si potrebbe visualizzare un errore.
Creazione profilo procedura SQL:
. L'esecuzione di una creazione profilo SQL su di un server DB2 UDB per Linux, UNIX e Windows V8.2 potrebbe causare un'eccezione di puntatore null se il server non ha la procedura memorizzata (SYSIBM.SQLCAMESSAGECCSID) richiesta dal driver JCC per richiamare il testo del messaggio di errore. Per risolvere temporaneamente tale problema, è possibile creare una connessione al server senza l'impostazione retrieveMessagesFromServerOnGetMessage=true.. Durante il monitoraggio dell'esecuzione delle procedure SQL, gli eventi vengono generati dalle istruzioni DML quali INSERT, SELECT, DELETE e UPDATE eseguire nella procedura. Tuttavia, gli eventi non vengono generati in uno stile deterministico per le istruzioni procedurali quali le assegnazioni delle variabili e delle strutture di controllo come WHILE o IF.
Debugger procedure memorizzate:
. Quando ci si connette ad un server DB2 per UNIX, si possono verificare delle eccezioni di timeout quando si aggiungono i punti di interruzione o quando si esegue in modalità debug.. Il debugger non viene eseguito per una procedura memorizzata il cui nome contiene entrambi i caratteri inglesi e cinesi.
. Le espressioni di controllo sono supportate solo per le procedure memorizzate Java dinamiche. Non vengono supportate per le procedure memorizzate SQL e SQLJ.
. Il debugger non si ferma ad un punto di interruzione se non è posizionato sul primo token di un'istruzione eseguibile, come SET. Inoltre, non si ferma su DECLARE CONTINUE, CLOSE CURSOR o ROLLBACK.
. Se si sta eseguendo il debug di una procedura memorizzata Java e si seleziona un'azione Termina, potrebbero essere necessari diversi minuti perché la sessione di debug sia completamente terminata. Le nuove sessioni di debug iniziate durante questo periodo di tempo potrebbero funzionare in maniera irregolare.
. Se si sta eseguendo il debug di una procedura guidata Java che richiama una seconda procedura memorizzata Java, non è possibile eseguire il debug della seconda procedura memorizzata. Non possibile passare nella procedura memorizzata nidificata e tutti i punti di interruzione impostati nella procedura memorizzata nidificata saranno ignorati. Tale limitazione riguarda DB2 UDB per Linux, UNIX e Windows.
. Se si riceve il messaggio di errore 'Si è verificato il timeout durante l'attesa del pacchetto' durante l'esecuzione del debug di una procedura memorizzata Java, provare ad aumentare l'impostazione di timeout Java. Per aumentare l'impostazione del timeout Java, fare clic su Finestra > Preferenze dalla barra del menu del workbench. Espandere il nodo Java e fare clic su Debug. Sulla pagina delle preferenze di Debug, aumentare il valore di Timeout debugger(ms) nella sezione Timeout di comunicazione. Si consiglia almeno di duplicare il valore predefinito.
. Quando si esegue il debug di una procedura memorizzata Java, se si utilizza l'azione Modifica valore per modificare una variabile che ha un valore stringa vuoto, il pulsante OK nella finestra di dialogo potrebbe non essere attivato. Per attivare il pulsante, selezionare il pulsante di opzione Immetti una valutazione, impostare il valore su di una stringa non vuota (ad esempio, 'a'), quindi selezionare il pulsante di opzione Immetti un testo. Il pulsante OK sarà, allora, disponibile.
. Se non vengono visualizzate le variabili locali durante l'esecuzione del debug di una procedura memorizzata Java, la procedura memorizzata potrebbe essere stata distribuita senza l'opzione del compilatore -g. Assicurarsi di aver specificato l'opzione del compilatore -g quando si distribuiscono le procedure memorizzate Java.
. Se si visualizza un messaggio di errore 'Frame di stack non valido' nella vista Variabili, passare nella vista Debug e fare clic sull'oggetto thread sopra il frame di stack e poi fare clic sul frame di stack. Questa operazione dovrebbe aggiornare la vista Variabili e l'errore non dovrebbe più essere visualizzato.
. Quando si esegue il debug di una procedura memorizzata SQLJ in esecuzione su DB2 UDB for iSeries V5 R4, la riga che viene eseguita correntemente non corrisponderà alla riga di origine SQLJ indicata, visualizzata nella vista Debug, a meno che non è stata applicata una PTF iSeries che aggiorna l'associazione riga perché corrisponda all'origine SQLJ invece che all'origine Java.
. Le preferenze del debugger per il timeout del Session manager non vengono riconosciute. Tali preferenze vengono impostate nella seguente maniera: fare clic su Finestra > Preferenze, espandere il nodo Esegui/Debug e fare clic su Debugger procedure memorizzate DB2. Modificare il campo Timeout del Session manager in minuti.
. Il debugger non riesce ad elaborare una procedura memorizzata che contenga un ampio numero di variabili su DB2 per Linux, UNIX e Windows. Il numero massimo di variabili è 200.
. Movimenti del cursore in una sessione di debug: in alcuni casi, quando vi è più di una dichiarazione della variabile in una procedura, è necessario fare clic su Passa a o Passa su più di una volta per poter andare alla riga successiva. Ad esempio, è necessario fare clic due volte su questa riga: DECLARE v_dept, v_actdept CHAR(3); e tre volte su questa riga: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2); È necessario fare clic tante volte quante sono le dichiarazioni di variabili.
. Se si avvia una sessione di debug per una procedura memorizzata Java e si aggiungono dei punti di interruzione, poi si disabilitano i punti di interruzione, questi ultimi restano abilitati. Per risolvere temporaneamente questo problema, quando si avvia una nuova sessione di debug, è necessario rimuovere prima tutti i vecchi punti di interruzione e poi aggiungere i nuovi.
. In alcuni casi, quando si sta lavorando con più progetti di sviluppo dati, è possibile che si visualizzi un errore quando di prova ad eseguire il debug di una procedura memorizzata, nel quale si dice che è "Impossibile trovare la procedura memorizzata PROCNAME. La procedura potrebbe essere stata eliminata dallo spazio di lavoro " oppure l'"Origine non è stata trovata".
. Se si sta effettuando il debug di una procedura memorizzata SQL subito dopo aver terminato una sessione di debug di una procedura memorizzata Java, il debugger potrebbe visualizzare "La funzione definita dall'utente ... è stata interrotta dall'utente." Per risolvere temporaneamente tale problema, provare ad eseguire nuovamente il debug della procedura memorizzata SQL.
Funzionalità dati core:
. ALIAS, MQT, NICKNAME e SYNONYM ora vengono supportati durante l'intera progettazione, ma non vengono supportati nel processo di associazione EJB.
. Supporto limitato per MySQL 4.1: le seguenti proprietà non vengono visualizzate correttamente nella vista Proprietà: Indice univoco, incremento automatico delle colonne, valore predefinito delle colonne per NULL e binario. Inoltre, non vengono supportate le procedure e le funzioni di C.. I trigger, la verifica dei vincoli e le viste non vengono supportate per Cloudscape(TM) v5.1 : i trigger e le verifiche dei vincoli di Cloudscape v5.1 non vengono visualizzati nello strumento Esplora database. Le viste di Cloudscape v5.1 mancano dal corpo SQL nella vista Proprietà. Non è possibile generare DDL o invertire la progettazione dei trigger, della verifica dei vincoli o delle viste di Cloudscape v5.1.