(For future reference)
It might be an encoding problem. See this discussion on USC4 (
http://www.easysoft.com/developer/languages/python/pyodbc.html#ucs4). If the two servers are not configured with the same encoding (python, unixODBC), you may have connection errors.
To give the flavor of the problem, from the Easysoft page:
The SQL Server ODBC driver distribution includes both a Unicode
(libessqlsrv.so) and non-Unicode (libessqlsrv_a.so) version of the
driver. The Unicode driver supports the "wide" version (with postfix
"W") of the ODBC functions. (For example,
SQLConnectW is the wide version of
SQLConnect.)
pyodbc 2.0.58+ will use the wide character version of the ODBC APIs if
the driver supports them. When built against a UCS4 version of Python,
the connection string passed by pyodbc to
SQLDriverConnectW is not in the expected format, and the connection fails with the error: