Skip to content

Commit cabe1ad

Browse files
author
stephanie
committed
update connection string info
1 parent a44b9e2 commit cabe1ad

File tree

1 file changed

+50
-6
lines changed

1 file changed

+50
-6
lines changed

odmtools/odmservices/service_manager.py

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,25 +186,69 @@ def _get_file(self, mode):
186186
return config_file
187187

188188
def _build_connection_string(self, conn_dict):
189-
driver = ""
190-
connformat= self._connection_format
189+
# driver = ""
190+
# connformat= self._connection_format
191+
# if conn_dict['engine'] == 'mssql' and sys.platform != 'win32':
192+
# driver = "pyodbc"
193+
# quoted = urllib.quote_plus('DRIVER={FreeTDS};DSN=%s;UID=%s;PWD=%s;' % (conn_dict['address'], conn_dict['user'], conn_dict['password']))
194+
# conn_string = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted)
195+
#
196+
# else:
197+
# if conn_dict['engine'] == 'mssql':
198+
# driver = "pyodbc"
199+
# connformat=self._connection_format = "%s+%s://%s:%s@%s/%s?driver=SQL+Server+Native+Client+10.0"
200+
# elif conn_dict['engine'] == 'mysql':
201+
# driver = "pymysql"
202+
# elif conn_dict['engine'] == 'postgresql':
203+
# driver = "psycopg2"
204+
# else:
205+
# driver = "None"
206+
#
207+
# conn_string = connformat % (
208+
# conn_dict['engine'], driver, conn_dict['user'], conn_dict['password'], conn_dict['address'],
209+
# conn_dict['db'])
210+
# return conn_string
211+
# driver = ""
212+
# print "****", conn_dict
191213
if conn_dict['engine'] == 'mssql' and sys.platform != 'win32':
192214
driver = "pyodbc"
193-
quoted = urllib.quote_plus('DRIVER={FreeTDS};DSN=%s;UID=%s;PWD=%s;' % (conn_dict['address'], conn_dict['user'], conn_dict['password']))
215+
quoted = urllib.quote_plus('DRIVER={FreeTDS};DSN=%s;UID=%s;PWD=%s;' % (conn_dict['address'], conn_dict['user'],
216+
conn_dict['password']))
217+
# quoted = urllib.quote_plus('DRIVER={FreeTDS};DSN=%s;UID=%s;PWD=%s;DATABASE=%s' %
218+
# (conn_dict['address'], conn_dict['user'], conn_dict['password'],conn_dict['db'],
219+
# ))
194220
conn_string = 'mssql+pyodbc:///?odbc_connect={}'.format(quoted)
195-
196221
else:
197222
if conn_dict['engine'] == 'mssql':
198223
driver = "pyodbc"
199-
connformat=self._connection_format = "%s+%s://%s:%s@%s/%s?driver=SQL+Server+Native+Client+10.0"
224+
conn = "%s+%s://%s:%s@%s/%s?driver=SQL+Server"
225+
if "sqlncli11.dll" in os.listdir("C:\\Windows\\System32"):
226+
conn = "%s+%s://%s:%s@%s/%s?driver=SQL+Server+Native+Client+11.0"
227+
self._connection_format = conn
228+
conn_string = self._connection_format % (
229+
conn_dict['engine'], driver, conn_dict['user'], conn_dict['password'], conn_dict['address'],
230+
conn_dict['db'])
200231
elif conn_dict['engine'] == 'mysql':
201232
driver = "pymysql"
233+
conn_string = self.constringBuilder(conn_dict, driver)
202234
elif conn_dict['engine'] == 'postgresql':
203235
driver = "psycopg2"
236+
conn_string = self.constringBuilder(conn_dict, driver)
204237
else:
205238
driver = "None"
239+
conn_string = self.constringBuilder(conn_dict, driver)
240+
241+
242+
# print "******", conn_string
243+
return conn_string
206244

207-
conn_string = connformat % (
245+
def constringBuilder(self, conn_dict, driver):
246+
if conn_dict['password'] is None or not conn_dict['password']:
247+
conn_string = self._connection_format_nopassword % (
248+
conn_dict['engine'], driver, conn_dict['user'], conn_dict['address'],
249+
conn_dict['db'])
250+
else:
251+
conn_string = self._connection_format % (
208252
conn_dict['engine'], driver, conn_dict['user'], conn_dict['password'], conn_dict['address'],
209253
conn_dict['db'])
210254
return conn_string

0 commit comments

Comments
 (0)