DBA: Stored-procedure su Oracle e UDL
linkDescrizione del difetto
Impossibile aggiornare la struttura di un database oracle contenente stored-procedure se si utilizzava una stringa di connessione custom nel progetto.
Instant Developer per aggiornare la struttura di un database oracle contenente stored-procedure:
- apre la connessione utilizzando il driver OleDB Oracle
- esegue il DDL fermandosi prima di avviare l'aggiornamento delle stored procedure
- chiude la connessione al database e la riapre utilizzando il driver Microsoft. Tale disconnessione viene eseguita per risolvere un bug presente nel driver OleDB Oracle il quale non è in grado di aggiornare stored-procedure se queste contengono il carattere a-capo all'interno dei commenti.
- prosegue con l'esecuzione del DDL aggiornando le stored-procedure
- chiude la connessione al database
// DB [STRINGA-DI-CONNESSIONE]dove [STRINGA-DI-CONNESSIONE] rappresenta la stringa di connessione da utilizzare per la ri-apertura.
A partire dalla versione 11.1 Instant Developer non chiude più la connessione durante l'esecuzione del DDL se si utilizza una stringa di connessione custom.
Effetti del malfunzionamento
- Se si avviava la procedura di modifica, questa terminava con errore subito prima di eseguire l'aggiornamento delle stored-procedure.
Soluzioni
Utilizzando le versioni precedenti è sufficiente seguire la procedura seguente:
- creare il DDL senza eseguirlo sul database (attivando il flag Crea DDL e disattivando il flag Esegui DDL)
- aprire il file DDL ed eliminare la riga che inizia con
//DB ...
- eseguire il DDL (disattivando il flag Crea DDL e attivando il flag Esegui DDL)
Funzionalità interessate
La modifica della struttura di un database oracle contenente stored-procedure.
Note
- Malfunzionamento relativo alla richiesta di assistenza 000852-2012.
Ultima modifica: 23/03/2021 / Validità: da 11.1.4900