88from lib .core .common import Backend
99from lib .core .data import conf
1010from lib .core .data import logger
11+ from lib .core .dicts import DBMS_DICT
12+ from lib .core .enums import DBMS
1113from lib .core .settings import MSSQL_ALIASES
1214from lib .core .settings import MYSQL_ALIASES
1315from lib .core .settings import ORACLE_ALIASES
@@ -48,16 +50,16 @@ def setHandler():
4850 """
4951
5052 items = [
51- ("MySQL" , MYSQL_ALIASES , MySQLMap , MySQLConn ),
52- ("Oracle" , ORACLE_ALIASES , OracleMap , OracleConn ),
53- ("PostgreSQL" , PGSQL_ALIASES , PostgreSQLMap , PostgreSQLConn ),
54- ("Microsoft SQL Server" , MSSQL_ALIASES , MSSQLServerMap , MSSQLServerConn ),
55- ("SQLite" , SQLITE_ALIASES , SQLiteMap , SQLiteConn ),
56- ("Microsoft Access" , ACCESS_ALIASES , AccessMap , AccessConn ),
57- ("Firebird" , FIREBIRD_ALIASES , FirebirdMap , FirebirdConn ),
58- ("SAP MaxDB" , MAXDB_ALIASES , MaxDBMap , MaxDBConn ),
59- ("Sybase" , SYBASE_ALIASES , SybaseMap , SybaseConn ),
60- ("IBM DB2" , DB2_ALIASES , DB2Map , DB2Conn ),
53+ (DBMS . MYSQL , MYSQL_ALIASES , MySQLMap , MySQLConn ),
54+ (DBMS . ORACLE , ORACLE_ALIASES , OracleMap , OracleConn ),
55+ (DBMS . PGSQL , PGSQL_ALIASES , PostgreSQLMap , PostgreSQLConn ),
56+ (DBMS . MSSQL , MSSQL_ALIASES , MSSQLServerMap , MSSQLServerConn ),
57+ (DBMS . SQLITE , SQLITE_ALIASES , SQLiteMap , SQLiteConn ),
58+ (DBMS . ACCESS , ACCESS_ALIASES , AccessMap , AccessConn ),
59+ (DBMS . FIREBIRD , FIREBIRD_ALIASES , FirebirdMap , FirebirdConn ),
60+ (DBMS . MAXDB , MAXDB_ALIASES , MaxDBMap , MaxDBConn ),
61+ (DBMS . SYBASE , SYBASE_ALIASES , SybaseMap , SybaseConn ),
62+ (DBMS . DB2 , DB2_ALIASES , DB2Map , DB2Conn ),
6163 ]
6264
6365 _ = max (_ if (Backend .getIdentifiedDbms () or "" ).lower () in _ [1 ] else None for _ in items )
@@ -77,7 +79,15 @@ def setHandler():
7779 if conf .direct :
7880 logger .debug ("forcing timeout to 10 seconds" )
7981 conf .timeout = 10
80- conf .dbmsConnector .connect ()
82+
83+ dialect = DBMS_DICT [name ][3 ]
84+ sqlalchemy = SQLAlchemy (dialect = dialect )
85+ sqlalchemy .connect ()
86+
87+ if sqlalchemy .connection :
88+ conf .dbmsConnector = sqlalchemy
89+ else :
90+ conf .dbmsConnector .connect ()
8191
8292 if handler .checkDbms ():
8393 conf .dbmsHandler = handler
0 commit comments