From 5cb66ee718ee15e91e6036d573aaec67d4c43fe6 Mon Sep 17 00:00:00 2001 From: Rick Morrison Date: Mon, 9 Jul 2007 20:37:55 +0000 Subject: [PATCH] Fix port option handling for mssql/pyodbc [ticket:634] --- CHANGES | 4 ++++ lib/sqlalchemy/databases/mssql.py | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 5aa8734340..606d9baba6 100644 --- a/CHANGES +++ b/CHANGES @@ -90,6 +90,10 @@ - sqlite better handles datetime/date/time objects mixed and matched with various Date/Time/DateTime columns - string PK column inserts dont get overwritten with OID [ticket:603] + +- mssql + - fix port option handling for pyodbc [ticket:634] + - extensions - added selectone_by() to assignmapper diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index 2b6808eaca..b4ae8053fd 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -599,7 +599,7 @@ class MSSQLDialect_pymssql(MSSQLDialect): self.use_scope_identity = True def supports_sane_rowcount(self): - return True + return False def max_identifier_length(self): return 30 @@ -686,7 +686,10 @@ class MSSQLDialect_pyodbc(MSSQLDialect): def make_connect_string(self, keys): connectors = ["Driver={SQL Server}"] - connectors.append("Server=%s" % keys.get("host")) + if 'port' in keys: + connectors.append('Server=%s,%d' % (keys.get('host'), keys.get('port'))) + else: + connectors.append('Server=%s' % keys.get('host')) connectors.append("Database=%s" % keys.get("database")) user = keys.get("user") if user: -- 2.47.2