From bd0b691716a6ba38d038d6194bb5fc8a30f20f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20T=C3=A9choueyres?= Date: Thu, 15 Mar 2018 19:15:14 +0100 Subject: [PATCH] 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 : /@:/ or /@ --- lisp/ob-sql.el | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index f44bf5674..8f0cc8b95 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -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 + + /@:/ + +or + + /@ + +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.