Devo applicare una query SQL a file CSV (file di testo separati da virgole). Il mio SQL è predefinito da un altro strumento e non è idoneo a cambiare. Può contenere selezioni e alias di tabella incorporati nella parte FROM.Esegui SQL su file CSV tramite JDBC
Per il mio compito ho trovato due open-source (questo è un requisito di progetto) librerie che forniscono i driver JDBC:
- CsvJdbc
- XlSQL
- JBoss Teiid
- Creare un Apache Derby DB, carica tutti i CSV come tabelle ed esegue la query.
Questi sono i problemi che ho incontrato:
- che non accetta la sintassi SQL (che utilizza seleziona interne e alias di tabella). Inoltre, non è stato mantenuto dal 2004.
- non ho potuto farlo funzionare, in quanto ha come dipendenza un parser SAX che causa un'eccezione durante l'analisi di altri documenti. Allo stesso modo, nessun cambiamento dal 2004.
- Non ho controllato se supporta la sintassi, ma sembra un sovraccarico. Ha bisogno di diverse entità definite (Virtual Databases, Bindings). Dalla mailing list mi hanno detto che l'ultima release supporta la creazione in runtime degli oggetti richiesti. Qualcuno lo ha usato per un compito così semplice (normalmente può connettersi a diversi tipi di dati, come CSV, XML o altri DBS e creare uno virtuale, unificato)?
- Questo può anche essere fatto facilmente?
Dalle 4 cose che ho considerato/provato, solo 3 e 4 mi sembrano valide. Qualche consiglio su questi o su qualsiasi altro modo in cui posso interrogare i miei file CSV?
Acclamazioni
Sì, utilizza la sottostringa e le concatenazioni. –