class_docstr: Base class for database framework wrappers.
  
  Attributes
  ----------
  host: str
     It can be either:
        1. Known hostname or IP address in which database server resides.
        2. URI: A database framework specific connection string.
  name: str
     Name of database containing experiments.
  port: int
     Port that database server listens to for requests.
  username: str
      Name of user with write/read permissions to database with name `name`.
  password: str
      Secret phrase of user, `username`.
docstr: Connect to database, unless `Database` `is_connected`.
  
  Raises
  ------
  DatabaseError
      If connection or authentication fails
docstr_tok: ["Connect","to","database",",","unless","`","Database","`","`","is_connected","`",".","Raises","--","--","--","DatabaseError","If","connection","or","authentication","fails"]
code: def initiate_connection(self):
      """Connect to database, unless `Database` `is_connected`.
  
      Raises
      ------
      DatabaseError
          If connection or authentication fails
  
      """
  
imports: import logging
  from abc import abstractmethod, abstractproperty
  from orion.core.utils import Factory, GenericFactory
label_desc: Use image node_id 4 for calling the Database obj's underlying member method code with example usage: obj.initiate_connection() without return types