text: """ db_print.py -- a simple demo for ADO database reads."""
  
  import sys
  import adodbapi.ado_consts as adc
  
  cmd_args = ('filename', 'table_name')
  if 'help' in sys.argv:
      print('possible settings keywords are:',cmd_args)
      sys.exit()
  
  kw_args = {}    # pick up filename and proxy address from command line (optionally)
  for arg in sys.argv:
      s = arg.split("=")
      if len(s) > 1:
          if s[0] in cmd_args:
              kw_args[s[0]] = s[1]
  
  kw_args.setdefault('filename', "test.mdb") # assumes server is running from examples folder
  kw_args.setdefault('table_name', 'Products') # the name of the demo table
  
  # the server needs to select the provider based on his Python installation
  provider_switch = ['provider', 'Microsoft.ACE.OLEDB.12.0', "Microsoft.Jet.OLEDB.4.0"]
  
  # ------------------------ START HERE -------------------------------------
  #create the connection
  constr = "Provider=%(provider)s;Data Source=%(filename)s"
  import adodbapi as db
  con = db.connect(constr, kw_args, macro_is64bit=provider_switch)
  
  if kw_args['table_name'] == '?':
      print('The tables in your database are:')
      for name in con.get_table_names():
          print(name)
  else:
  #make a cursor on the connection
      with con.cursor() as c:
  
          #run an SQL statement on the cursor
          sql = 'select * from %s' % kw_args['table_name']
          print('performing query="%s"'  % sql)
          c.execute(sql)
  
          #check the results
          print('result rowcount shows as= %d. (Note: -1 means "not known")' \
                % (c.rowcount,))
          print('')
          print('result data description is:')
          print('            NAME Type         DispSize IntrnlSz Prec Scale Null?')
          for d in c.description:
              print(('%16s %-12s %8s %8d %4d %5d %s') % \
                    (d[0], adc.adTypeNames[d[1]], d[2],   d[3],  d[4],d[5], bool(d[6])))
          print('')
          print('str() of first five records are...')
  
          #get the results
          db = c.fetchmany(5)
  
          #print them
          for rec in db:
              print(rec)
  
          print('')
          print('repr() of next row is...')
          print(repr(c.fetchone()))
          print('')
  con.close()
  