ob-sql.el: Improve Oracle connection and usage for ob-sql.

* lisp/ob-sql.el (org-babel-sql-dbstring-oracle): Permit to omit host
and port to allow use of alias defined in Oracle's TNSNAMES files.
This now allow two way calling it :
<user>/<password>@<host>:<port>/<database ID>
or
<user>/<password>@<database alias>
This commit is contained in:
Pierre Téchoueyres 2018-03-15 19:15:14 +01:00 committed by Nicolas Goaziou
parent 6cf5fc0fc1
commit bd0b691716
1 changed files with 17 additions and 4 deletions

View File

@ -112,10 +112,23 @@ Pass nil to omit that arg."
(defun org-babel-sql-dbstring-oracle (host port user password database)
"Make Oracle command line arguments for database connection.
If PORT and DATABASE are nil then don't pass them. This allows
you to use names defined in your \"TNSNAMES\" file."
(concat (format "%s/%s@%s" user password host)
(and port database (format ":%s/%s" port database))))
If HOST and PORT are nil then don't pass them. This allows you
to use names defined in your \"TNSNAMES\" file. So you can
connect with
<user>/<password>@<host>:<port>/<database>
or
<user>/<password>@<database>
using its alias."
(cond ((and user password database host port)
(format "%s/%s@%s:%s/%s" user password host port database))
((and user password database)
(format "%s/%s@%s" user password database))
(t (user-error "Missing information to connect to database"))))
(defun org-babel-sql-dbstring-mssql (host user password database)
"Make sqlcmd command line args for database connection.