code: def Open(self):
      
      if not self._filename:
        raise ValueError('Missing filename.')
  
      if not self._append and os.path.isfile(self._filename):
        raise IOError((
            'Unable to use an already existing file for output '
            '[{0:s}]').format(self._filename))
  
      self._connection = sqlite3.connect(self._filename)
      self._cursor = self._connection.cursor()
  
      # Create table in database.
      if not self._append:
        self._cursor.execute(self._CREATE_TABLE_QUERY)
  
        for field in self._META_FIELDS:
          query = 'CREATE TABLE l2t_{0:s}s ({0:s}s TEXT, frequency INT)'.format(
              field)
          self._cursor.execute(query)
          if self._set_status:
            self._set_status('Created table: l2t_{0:s}'.format(field))
  
        self._cursor.execute('CREATE TABLE l2t_tags (tag TEXT)')
        if self._set_status:
          self._set_status('Created table: l2t_tags')
  
        query = 'CREATE TABLE l2t_saved_query (name TEXT, query TEXT)'
        self._cursor.execute(query)
        if self._set_status:
          self._set_status('Created table: l2t_saved_query')
  
        query = (
            'CREATE TABLE l2t_disk (disk_type INT, mount_path TEXT, '
            'dd_path TEXT, dd_offset TEXT, storage_file TEXT, export_path TEXT)')
        self._cursor.execute(query)
  
        query = (
            'INSERT INTO l2t_disk (disk_type, mount_path, dd_path, dd_offset, '
            'storage_file, export_path) VALUES (0, "", "", "", "", "")')
        self._cursor.execute(query)
        if self._set_status:
          self._set_status('Created table: l2t_disk')
  
      self._count = 0
docs: Connects to the database and creates the required tables.
  
      Raises:
        IOError: if the specified output file already exists.
        OSError: if the specified output file already exists.
        ValueError: if the filename is not set.