title: ZODB broken instance
body: <p>I am trying to persist an object reference using <strong>only ZODB</strong> in a <strong>FileStorage</strong> database.
  I made a test to analyze its performance, but the object when it is loaded it appears to be broken.</p>
  <p><strong>The test consists on:</strong></p>
  <ol>
  <li><em>create an object in one script and write it to database.</em></li>
  <li><em>In another script read that object from the same database and use it there.</em></li>
  </ol>
  <p><a href="https://i.stack.imgur.com/POISw.png" rel="nofollow noreferrer">zodb1.py image from CMD</a></p>
  <p><a href="https://i.stack.imgur.com/jI0Zr.png" rel="nofollow noreferrer">zodb2.py image from CMD</a></p>
  <p><strong>zodb1.py</strong></p>
  <pre><code>import ZODB
  from ZODB.FileStorage import FileStorage
  import persistent
  import transaction
  
  storage = FileStorage('ODB.fs')
  db = ZODB.DB(storage)
  connection = db.open()
  ODB = connection.root()
  
  print(ODB)
  
  class Instrument(persistent.Persistent):
  
      def __init__(self, name, address):
          self.name = name
          self.address = address
      
      def __str__(self):
          return f'Instrument - {self.name}, ID: {self.address}'
  
  camera = Instrument(name='Logitech', address='CAM0')
  
  
  ODB['camera'] = camera
  ODB._p_changed = True
  transaction.commit()
  
  print(ODB)
  
  ob = ODB['camera']
  print(ob)
  print(dir(ob))
  
  </code></pre>
  <p><strong>zodb2.py</strong></p>
  <pre><code>import ZODB, ZODB.FileStorage
  import persistent
  import transaction
  
  connection = ZODB.connection('ODB.fs')
  
  ODB = connection.root()
  
  print(ODB)
  
  ob = ODB['camera']
  print(ob)
  print(dir(ob))
  
  </code></pre>
  <p>Am I missing something important? I've read the ZODB's documentation and I see no other configuration process or another way to aproach this.</p>
  <p>Thank you in advance.</p>