An simple application that runs a query and distributes the results via email, ftp, etc.
Create your report details into an edn file. (Examples are below).
$ java -jar report-gen-0.1.0-standalone.jar -d [data-dir] -r [report-name]
Switches Default Desc
-------- ------- ----
-h, --no-help, --help false Print this help
-d, --data-dir resources data directory to find report and db .edn files
-o, --output-dir /tmp directory to store generated reports
-e, --email-server resources/email.edn email server properties
-r, --report Report .edn file
Sample database and report .edn files are in the resources folder.
The --data-dir
folder should have reports
and databases
folders. Databses defined under the databases
folder can be referenced in the report's .edn
file.
;; ~/report-data/reports/test-report.edn
{:name "test-report"
:db "mssql"
:query "SELECT * FROM NOTES
WHERE CREATION_DATE > CONVERT(DATE, DATEADD(DAY, -7, GETDATE()))"
:output :xlsx
:dispatch [
{:type :email
:from "report.generator@mycompany.com"
:to ["user1@mycompany.com" "user2@mycompany.com"]
:subject "Test Report"
:body "Please find the requested report attached."}]
}
;; ~/report-data/databases/mssql.edn
{:dbtype "mssql"
:dbname "DEMO"
:host "db1.data.mycomany.local"
:user "dbuser"
:password "s3cret"}
You can now run test-report
as
java -jar report-gen-0.1.0-standalone.jar -d ~/report-data -e ~/report-data/email.edn -r test-report
curl -O https://maven.atlassian.com/3rdparty/com/oracle/ojdbc6/12.1.0.1-atlassian-hosted/ojdbc6-12.1.0.1-atlassian-hosted.jar
mvn install:install-file -Dfile=ojdbc6-12.1.0.1-atlassian-hosted.jar -DgroupId=local -DartifactId=ojdbc6 -Dversion=12.1.0.1 -Dpackaging=jar -DgeneratePom=true
Copyright © 2018
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.