From 8a0c49946e9569a6402beaa8d2194ceabf9d3d04 Mon Sep 17 00:00:00 2001 From: Nathan Bird Date: Wed, 4 Jan 2012 15:37:15 -0500 Subject: [PATCH] Fixup ODBC :connection-string codepath. In the call to odbc's SQLDriverConnect default the WindowHandle argument to a null ptr so that connecting with :connection-string will work in the default case of SQL_DRIVER_NOPROMPT. I.e. you can now do things like: (clsql:connect '("DsnName" "UserName" "" :connection-string "DRIVER={FreeTDS};SERVER=...;DATABASE=...;UID=...;PWD=...;PORT=1433;TDS_Version=8.0;APP=clsql" :database-type :odbc)) I believe the DsnName and Username at that point are only used when printing the connection information. When connecting with ODBC :connection-string argument default the window-handle (for popping up a prompt) to the null ptr in the case that one hasn't been passed in. The default is to tell the driver library not to prompt so it doesn't really need a window handle, it just needs it to be a null ptr rather than nil. --- ChangeLog | 15 +++++++++++++++ db-odbc/odbc-api.lisp | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b8293b3..9107ff2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2012-01-04 Nathan Bird + + * db-odbc/odbc-api.lisp (%sql-driver-connect): in the call to + odbc's SQLDriverConnect default the WindowHandle argument to a null ptr so + that connecting with :connection-string will work in the default + case of SQL_DRIVER_NOPROMPT. + + I.e. you can now do things like: + (clsql:connect '("DsnName" "UserName" "" :connection-string + "DRIVER={FreeTDS};SERVER=...;DATABASE=...;UID=...;PWD=...;PORT=1433;TDS_Version=8.0;APP=clsql" + :database-type :odbc)) + + I belibe the DsnName and Username at that point are only used when + printing the connection information. + 2011-12-20 Kevin Rosenberg * Version 6.1.1 * db-oracle/oracle.lisp: Typo correction (Elias Martenson) diff --git a/db-odbc/odbc-api.lisp b/db-odbc/odbc-api.lisp index 9ebdb3e..b20a48a 100644 --- a/db-odbc/odbc-api.lisp +++ b/db-odbc/odbc-api.lisp @@ -226,7 +226,8 @@ May be locally bound to something else if a certain type is necessary.") (with-error-handling (:hdbc hdbc) (SQLDriverConnect hdbc - window-handle + (or window-handle + +null-handle-ptr+) connection-ptr $SQL_NTS completed-connection-string-ptr $SQL_MAX_CONN_OUT completed-connection-length -- 2.34.1