Found it! Apparently someone had written the connect string
incorrectly (a slash instead of a colon) on the pre-production
machine...


-S

On Aug 14, 12:21 pm, SOS <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to