Ho di fronte alcuni script di shell legacy che eseguono lavori di elaborazione dati batch in Oracle utilizzando SQL+
. Per la maggior parte, il livello dati non deve tornare allo script con i dati recuperati da passare per l'elaborazione a livello di shell, ma in alcuni casi lo fa.
Il problema è che SQL + è davvero pensato per essere un'app per l'utente finale e non un'API in grado di comunicare con altri client in modo programmatico. Questo è il motivo per cui le persone hanno inventato API come DBD::DBI
per Perl, JDBC
per Java, ODBC ecc. Il modo in cui viene fatto è invocare SQL + e quindi analizzare l'output, che è chiaramente progettato per il consumo dell'occhio umano, utilizzando strumenti come sed
e awk
. Il tutto è al massimo un hack e molto incline a bug.
Dato che questo client è piuttosto conservativo con la loro tecnologia, non vogliono scalare i loro script fino a Perl o Python dove ci sono API di accesso ai dati. Quindi mi chiedo se ci siano API simili per shell, ad es. K o bash. Quello che vorrei sarebbe se un'API restituisse i dati in una matrice o stringhe bidimensionale (per la mancanza di impostazione del tipo) in modo che io possa solo leggere i dati del DB in quel modo.
Il modo in cui lo fanno ora è analogo all'analisi del normale codice HTML della pagina Web per ottenere una singola quotazione di borsa anziché chiamare in modo pulito un servizio Web e utilizzarlo.
Qualcuno sa di un prodotto che posso usare? Grazie