def connector_add(p_engine, params): """ Add application to Masking engine param1: p_engine: engine name from configuration param2: params: dict of parameters needed for connector to add return 0 if added, non 0 for error """ ret = 0 logger = logging.getLogger() enginelist = get_list_of_engines(p_engine) if enginelist is None: return 1 envname = params['envname'] schemaName = params['schemaName'] host = params['host'] port = params['port'] password = params['password'] username = params['username'] connname = params['connname'] for engine_tuple in enginelist: engine_obj = DxMaskingEngine(engine_tuple) if engine_obj.get_session(): continue envlist = DxEnvironmentList() envlist.LoadEnvironments() logger.debug("Envname is %s" % envname) envref = envlist.get_environmentId_by_name(envname) if envref is None: ret = ret + 1 continue connlist = DxConnectorsList() if params['type'] in database_types: if params['type'] == 'oracle': connobj = OracleConnector(engine_obj) elif params['type'] == 'mssql': connobj = MSSQLConnector(engine_obj) elif params['type'] == 'sybase': connobj = SybaseConnector(engine_obj) else: connobj = DxConnector(engine_obj) connobj.database_type = params['type'].upper() connobj.connector_name = connname connobj.schema_name = schemaName connobj.username = username connobj.password = password connobj.host = host if port: connobj.port = port + 0 connobj.sid = params['sid'] connobj.jdbc = params['jdbc'] connobj.environment_id = envref connobj.instance_name = params['instancename'] connobj.database_name = params['databasename'] elif params['type'] in file_types: path = params['path'] connmode = params['servertype'] connobj = DxFileConnector(engine_obj) connobj.is_database = False connobj.connector_name = connname connobj.environment_id = envref connobj.file_type = params['type'].upper() ci = ConnectionInfo() ci.host = host ci.port = port ci.login_name = username ci.password = password ci.path = path ci.connection_mode = connmode.upper() connobj.connection_info = ci else: print_error('Wrong connector type %s' % params['type']) logger.error('Wrong connector type %s' % params['type']) return 1 if connlist.add(connobj): ret = ret + 1 return ret
def connector_add(p_engine, p_username, params): """ Add application to Masking engine param1: p_engine: engine name from configuration param2: params: dict of parameters needed for connector to add return 0 if added, non 0 for error """ ret = 0 logger = logging.getLogger() enginelist = get_list_of_engines(p_engine, p_username) if enginelist is None: return 1 envname = params['envname'] schemaName = params['schemaName'] host = params['host'] port = params['port'] password = params['password'] username = params['username'] connname = params['connname'] for engine_tuple in enginelist: engine_obj = DxMaskingEngine(engine_tuple) if engine_obj.get_session(): continue envlist = DxEnvironmentList() envlist.LoadEnvironments() logger.debug("Envname is %s" % envname) envref = envlist.get_environmentId_by_name(envname) if envref is None: ret = ret + 1 continue connlist = DxConnectorsList() if params['type'] in database_types: if params['type'] == 'oracle': connobj = OracleConnector(engine_obj) dbtype = 'ORACLE' elif params['type'] == 'mssql': connobj = MSSQLConnector(engine_obj) dbtype = 'MSSQL' elif params['type'] == 'sybase': connobj = SybaseConnector(engine_obj) dbtype = 'SYBASE' elif params['type'] == 'extended': connobj = ExtendedConnector(engine_obj) dbtype = 'EXTENDED' else: connobj = DxConnector(engine_obj) dbtype = params['type'].upper() connobj.create_connector( connector_name = connname, database_type = dbtype, environment_id = envref ) connobj.schema_name = schemaName connobj.username = username connobj.password = password connobj.host = host if port: connobj.port = int(port) connobj.sid = params['sid'] connobj.jdbc = params['jdbc'] connobj.instance_name = params['instancename'] connobj.database_name = params['databasename'] if params['jdbc_driver_name']: jdbclist = DxJDBCList() driver_id = jdbclist.get_driver_id_by_name(params['jdbc_driver_name']) connobj.jdbc_driver_id = driver_id elif params['type'] in file_types: path = params['path'] connmode = params['servertype'] connobj = DxFileConnector(engine_obj) connobj.is_database = False connobj.create_connector( connector_name = connname, file_type = params['type'].upper(), environment_id = envref, host=host, port=port, login_name=username, password=password, path=path, connection_mode=connmode.upper() ) else: print_error('Wrong connector type %s' % params['type']) logger.error('Wrong connector type %s' % params['type']) return 1 if connlist.add(connobj): ret = ret + 1 return ret