I am getting some kind of error from (apparently) cx_Oracle when attempting to connect. I am using cx_Oracle 4.2 on my dev box, on which this error does NOT happen. On the pre-production box, we had cx_Oracle 4.3 which gave the error and the admin then installed 4.2, which still gave the error (incomplete uninstall was my guess but that did not lead anywhere). Both use SQLAlchemy beta1. I used to get this on my dev machine but upgrading to cx_Oracle 4.2 fixed it (I had some very old version before).
Here is the error and trace: /usr/lib/python2.4/site-packages/baasandmed/DataModel.py in initialiseDataModel(database=<sqlalchemy.orm.session.Session object>, databaseEngine=Engine(oracle://register/[EMAIL PROTECTED])) 544 meta = MetaData(databaseEngine) 545 546 BAASANDMED_VIEW = Table('baasandmed_view', meta, autoload = True) 547 BAASANDMED_FIELD = Table('baasandmed_field', meta, autoload = True) 548 BAASANDMED_MINIREF_VALUES = Table('baasandmed_miniref_values', meta, autoload = True) BAASANDMED_VIEW undefined, global Table = <class 'sqlalchemy.schema.Table'>, meta = MetaData(Engine(oracle://register/ [EMAIL PROTECTED])), autoload undefined, builtin True = True /usr/lib/python2.4/site-packages/sqlalchemy/schema.py in __call__(self=<class 'sqlalchemy.schema.Table'>, name='baasandmed_view', metadata=MetaData(Engine(oracle://register/ [EMAIL PROTECTED])), *args=(), **kwargs={}) 115 autoload_with.reflecttable(table, include_columns=include_columns) 116 else: 117 metadata._get_bind(raiseerr=True).reflecttable(table, include_columns=include_columns) 118 except exceptions.NoSuchTableError: 119 del metadata.tables[key] metadata = MetaData(Engine(oracle://register/[EMAIL PROTECTED])), metadata._get_bind = <bound method MetaData._get_bind of MetaData(Engine(oracle://register/[EMAIL PROTECTED]))>, raiseerr undefined, builtin True = True, ).reflecttable undefined, table = Table('baasandmed_view', MetaData(Engine(oracle://register/ [EMAIL PROTECTED])), schema=None), include_columns = None /usr/lib/python2.4/site-packages/sqlalchemy/engine/base.py in reflecttable(self=Engine(oracle://register/[EMAIL PROTECTED]), table=Table('baasandmed_view', MetaData(Engine(oracle://register/ [EMAIL PROTECTED])), schema=None), connection=None, include_columns=None) 1085 1086 if connection is None: 1087 conn = self.contextual_connect() 1088 else: 1089 conn = connection conn undefined, self = Engine(oracle://register/[EMAIL PROTECTED]), self.contextual_connect = <bound method Engine.contextual_connect of Engine(oracle://register/[EMAIL PROTECTED])> /usr/lib/python2.4/site-packages/sqlalchemy/engine/base.py in contextual_connect(self=Engine(oracle://register/[EMAIL PROTECTED]), close_with_result=False, **kwargs={}) 1053 """ 1054 1055 return Connection(self, close_with_result=close_with_result, **kwargs) 1056 1057 def table_names(self, schema=None, connection=None): global Connection = <class 'sqlalchemy.engine.base.Connection'>, self = Engine(oracle://register/[EMAIL PROTECTED]), close_with_result = False, kwargs = {} /usr/lib/python2.4/site-packages/sqlalchemy/engine/base.py in __init__(self=<sqlalchemy.engine.base.Connection object>, engine=Engine(oracle://register/[EMAIL PROTECTED]), connection=None, close_with_result=False, _branch=False) 537 def __init__(self, engine, connection=None, close_with_result=False, _branch=False): 538 self.__engine = engine 539 self.__connection = connection or engine.raw_connection() 540 self.__transaction = None 541 self.__close_with_result = close_with_result self = <sqlalchemy.engine.base.Connection object>, self.__connection undefined, connection = None, engine = Engine(oracle://register/ [EMAIL PROTECTED]), engine.raw_connection = <bound method Engine.raw_connection of Engine(oracle://register/ [EMAIL PROTECTED])> /usr/lib/python2.4/site-packages/sqlalchemy/engine/base.py in raw_connection(self=Engine(oracle://register/[EMAIL PROTECTED])) 1100 """Return a DBAPI connection.""" 1101 1102 return self.pool.connect() 1103 1104 def log(self, msg): self = Engine(oracle://register/[EMAIL PROTECTED]), self.pool = <sqlalchemy.pool.QueuePool object>, self.pool.connect = <bound method QueuePool.connect of <sqlalchemy.pool.QueuePool object>> /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in connect(self=<sqlalchemy.pool.QueuePool object>) 157 def connect(self): 158 if not self._use_threadlocal: 159 return _ConnectionFairy(self).checkout() 160 161 try: global _ConnectionFairy = <class 'sqlalchemy.pool._ConnectionFairy'>, self = <sqlalchemy.pool.QueuePool object>, ).checkout undefined /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in __init__(self=<sqlalchemy.pool._ConnectionFairy object>, pool=<sqlalchemy.pool.QueuePool object>) 262 self.__counter = 0 263 try: 264 self._connection_record = pool.get() 265 self.connection = self._connection_record.get_connection() 266 except: self = <sqlalchemy.pool._ConnectionFairy object>, self._connection_record = None, pool = <sqlalchemy.pool.QueuePool object>, pool.get = <bound method QueuePool.get of <sqlalchemy.pool.QueuePool object>> /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in get(self=<sqlalchemy.pool.QueuePool object>) 172 173 def get(self): 174 return self.do_get() 175 176 def do_get(self): self = <sqlalchemy.pool.QueuePool object>, self.do_get = <bound method QueuePool.do_get of <sqlalchemy.pool.QueuePool object>> /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in do_get(self=<sqlalchemy.pool.QueuePool object>) 554 555 try: 556 con = self.create_connection() 557 self._overflow += 1 558 finally: con undefined, self = <sqlalchemy.pool.QueuePool object>, self.create_connection = <bound method QueuePool.create_connection of <sqlalchemy.pool.QueuePool object>> /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in create_connection(self=<sqlalchemy.pool.QueuePool object>) 140 141 def create_connection(self): 142 return _ConnectionRecord(self) 143 144 def recreate(self): global _ConnectionRecord = <class 'sqlalchemy.pool._ConnectionRecord'>, self = <sqlalchemy.pool.QueuePool object> /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in __init__(self=<sqlalchemy.pool._ConnectionRecord object>, pool=<sqlalchemy.pool.QueuePool object>) 200 def __init__(self, pool): 201 self.__pool = pool 202 self.connection = self.__connect() 203 self.properties = {} 204 if pool._on_connect: self = <sqlalchemy.pool._ConnectionRecord object>, self.connection undefined, self.__connect undefined /usr/lib/python2.4/site-packages/sqlalchemy/pool.py in __connect(self=<sqlalchemy.pool._ConnectionRecord object>) 248 try: 249 self.starttime = time.time() 250 connection = self.__pool._creator() 251 self.__pool.log("Created new connection %s" % repr(connection)) 252 return connection connection undefined, self = <sqlalchemy.pool._ConnectionRecord object>, self.__pool undefined /usr/lib/python2.4/site-packages/sqlalchemy/engine/strategies.py in connect() 72 return dbapi.connect(*cargs, **cparams) 73 except Exception, e: 74 raise exceptions.DBAPIError(None, None, e) 75 creator = kwargs.pop('creator', connect) 76 global exceptions = <module 'sqlalchemy.exceptions' from '/usr/lib/ python2.4/site-packages/sqlalchemy/exceptions.pyc'>, exceptions.DBAPIError = <class sqlalchemy.exceptions.DBAPIError>, builtin None = None, e = <exceptions.TypeError instance> DBAPIError: (TypeError) argument 1 must be string or read-only buffer, not None None None args = ('(TypeError) argument 1 must be string or read-only buffer, not None',) orig = <exceptions.TypeError instance> params = None statement = None Any ideas/suggestions? I don't know anything of the internals of either SQLAlchemy or cx_Oracle so I am quite stumped. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---