python - NoSuchTable Error Message -
i getting "nosuchtable" error message. know table (dba_users) exists because can query in separate script , results returned. i'm parameters "pull_data" recognized because "print 'processing=' table_name" returns correct value. script listed below.
processing dba_users pulling schema source server 2013-07-25 08:15:15,661 info sqlalchemy.engine.base.engine select user dual 2013-07-25 08:15:15,661 info sqlalchemy.engine.base.engine {} 2013-07-25 08:15:15,802 info sqlalchemy.engine.base.engine select column_name, data_type, char_length, data_precision, data_scale, nullable, data_default all_tab_columns table_name = :table_name , owner = :owner order column_id 2013-07-25 08:15:15,802 info sqlalchemy.engine.base.engine {'owner': u'itaudit', 'table_name': u'dba_users'}
import data import getopt import sys quick_mapper import quick_mapper make_session import make_session sqlalchemy import metadata, table sqlalchemy import create_engine sqlalchemy.orm import sessionmaker sqlalchemy.ext.declarative import declarative_base # main event, creates several objects access both source , destination. def pull_data(from_db, to_db, tables): source, sengine = make_session(from_db) smeta = metadata(bind=sengine) destination, dengine = make_session(to_db) table_name in tables: print 'processing', table_name print 'pulling schema source server' table = table(table_name, smeta, autoload = true) print 'creating table on destination server' table.create_all(dengine) newrecord = quick_mapper(table) columns = table.columns.keys() print 'transferring records' record in source.query(table).all(): data = dict( [(str(column), getattr(record, column)) column in columns] ) destination.merge(newrecord(**data)) print 'committing changes' destination.commit() def make_session(connection_string): engine = create_engine(connection_string, echo=true, convert_unicode=true) session = sessionmaker(bind=engine) return session(), engine pull_data('oracle://uid:pass@111.111.1.1:port/sid', 'mysql://uid:pass@999.999.9.9:port/access_benchmark_staging', ["dba_users"])
Comments
Post a Comment