From: Nathan Bird Date: Wed, 4 Jan 2012 20:37:15 +0000 (-0500) Subject: Fixup ODBC :connection-string codepath. X-Git-Tag: v6.1.1~20 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=8a0c49946e9569a6402beaa8d2194ceabf9d3d04 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. --- 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