diff --git a/src/_mssql.pyx b/src/_mssql.pyx index 0749ce94..6067b5bd 100644 --- a/src/_mssql.pyx +++ b/src/_mssql.pyx @@ -539,7 +539,7 @@ cdef class MSSQLConnection: self.column_names = None self.column_types = None - def __init__(self, server="localhost", user="sa", password="", + def __init__(self, server="localhost", user=None, password=None, charset='UTF-8', database='', appname=None, port='1433', tds_version=None, conn_properties=None): log("_mssql.MSSQLConnection.__init__()") @@ -564,15 +564,23 @@ cdef class MSSQLConnection: appname = appname or "pymssql=%s" % __full_version__ # For Python 3, we need to convert unicode to byte strings - cdef bytes user_bytes = user.encode('utf-8') - cdef char *user_cstr = user_bytes - cdef bytes password_bytes = password.encode('utf-8') - cdef char *password_cstr = password_bytes + cdef bytes user_bytes + cdef char *user_cstr = NULL + if user is not None: + user_bytes = user.encode('utf-8') + user_cstr = user_bytes + cdef bytes password_bytes + cdef char *password_cstr = NULL + if password is not None: + password_bytes = password.encode('utf-8') + password_cstr = password_bytes cdef bytes appname_bytes = appname.encode('utf-8') cdef char *appname_cstr = appname_bytes - DBSETLUSER(login, user_cstr) - DBSETLPWD(login, password_cstr) + if user is not None: + DBSETLUSER(login, user_cstr) + if password is not None: + DBSETLPWD(login, password_cstr) DBSETLAPP(login, appname_cstr) if tds_version is not None: DBSETLVERSION(login, _tds_ver_str_to_constant(tds_version)) diff --git a/src/pymssql.pyx b/src/pymssql.pyx index f87688ce..edd5e8c8 100644 --- a/src/pymssql.pyx +++ b/src/pymssql.pyx @@ -578,7 +578,7 @@ cdef class Cursor: """ pass -def connect(server='.', user='', password='', database='', timeout=0, +def connect(server='.', user=None, password=None, database='', timeout=0, login_timeout=60, charset='UTF-8', as_dict=False, host='', appname=None, port='1433', conn_properties=None, autocommit=False, tds_version=None): """ @@ -587,9 +587,9 @@ def connect(server='.', user='', password='', database='', timeout=0, :param server: database host :type server: string - :param user: database user to connect as + :param user: database user to connect as. Default value: None. :type user: string - :param password: user's password + :param password: user's password. Default value: None. :type password: string :param database: the database to initially connect to :type database: string