Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import fdb
- import json
- import sys
- import decimal
- import datetime
- def js(val):
- if type(val) == int:
- return val
- if type(val) == str:
- return val
- if val is None:
- return val
- if type(val) == decimal.Decimal:
- return str(val)
- if type(val) == datetime.datetime:
- return val.isoformat()
- raise Exception(type(val))
- con = fdb.connect(dsn='sdr.fdb', user='sysdba', password='masterkey')
- cur = con.cursor()
- cur.execute("SELECT a.RDB$RELATION_NAME FROM RDB$RELATIONS a WHERE RDB$SYSTEM_FLAG=0")
- tables = [row[0].strip() for row in cur.fetchall()]
- db={}
- for table in tables:
- db[table] = {}
- cur.execute("select rdb$field_name from rdb$relation_fields where rdb$relation_name='{}' order by rdb$field_position".format(table))
- db[table]['cols']=[head[0].strip() for head in cur.fetchall()]
- cur.execute("select * from {}".format(table))
- db[table]['rows']=[[js(field) for field in row] for row in cur.fetchall()]
- json.dump(db, sys.stdout)
Add Comment
Please, Sign In to add comment