Thank you for your response. I'm sorry for not including these details for
I have been struggling with this problem for sometime. These suggestions
have been tried or already implemented with the same result. Pleased let me
know if you have any other suggestions.
def __init__(self):
connection_string = 'mysql://user:password@127.0.0.1:3306/pySMS'
conn = connectionForURI(connection_string,debug = True,autoCommit =
True)
trans = conn.transaction()
sqlhub.processConnection = conn
Company.createTable(ifNotExists = True, connection=trans)
test0.py file
import sys
from sqlobject import *
from pySMS import Companys
if __name__ == "__main__":
pysoft = Companys()
Traceback (most recent call last):
File "C:\Pysoft\Software\SMS Development\tests\test0.py", line 5, in
<module>
from pySMS import Companys
File "C:\Pysoft\Software\SMS Development\pySMS\__init__.py", line 1, in
<module>
from Company import Companys
File "C:\Pysoft\Software\SMS Development\pySMS\Company.py", line 137, in
<module>
class Company(SQLObject):
File
"C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\declarative.py",
line 92, in __new__
cls.__classinit__(cls, new_attrs)
File
"C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\main.py",
line 789, in __classinit__
sqlmeta.addColumnsFromDatabase()
File
"C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\main.py",
line 441, in addColumnsFromDatabase
conn = connection or soClass._connection
File
"C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\dbconnection.py",
line 902, in __get__
return self.getConnection()
File
"C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\dbconnection.py",
line 915, in getConnection
"No connection has been defined for this thread "
AttributeError: No connection has been defined for this thread or process
On Mon, Mar 26, 2012 at 3:52 AM, Oleg Broytman <p...@phdru.name> wrote:
> Hi!
>
> On Sun, Mar 25, 2012 at 06:56:32PM -0500, Jeremy Hoyle wrote:
> > I have a problem while trying to use the "fromDatabase = True" option in
> > sqlmeta. Any time I enable this. it gives me the connection error below.
> Is
> > there another attribute I need to do before doing this? I saw another
> > thread with this problem but the solution was enable the connection
> before
> > the class which I have done.
> >
> > from sqlobject import *
> >
> > class Companys(SQLObject):
> > def __init__(self):
> > connection_string = 'mysql://user:password@127.0.0.1:3306/pySMS'
> > conn = connectionForURI(connection_string,debug =
> True,autoCommit =
> > True)
> > trans = conn.transaction()
> > sqlhub.processConnection = conn
> > Company.createTable(ifNotExists = True, connection=conn)
> > Company._connection.debug = True
>
> A number of problems here.
> 1. The connection is created in Companys.__init__ which is not called,
> at least it is not called when SQLObject's metaclass processes
> fromDatabase. fromDatabase requires an open connection.
> 2. A transaction is opened but never used. Transaction (trans, in your
> case) has to be used instead of connection (in sqlhub, or in every
> SQLObject call that accepts connection).
>
> > class Company(SQLObject):
> >
> > class sqlmeta:
> > fromDatabase = True
> > lazyUpdate = True
> > cacheValues = True
> >
> > Company_Name = StringCol(length = 256, default = None)
> > Company_Address = StringCol(length = 256, default = None)
> > Company_Phone = StringCol(length = 256, default = None)
> >
> > Traceback (most recent call last):
> > File "C:\Pysoft\Software\SMS Development\tests\test0.py", line 5, in
> > <module>
> > from pySMS import Companys
> > File "C:\Pysoft\Software\SMS Development\pySMS\__init__.py", line 1, in
> > <module>
> > from Company import Companys
> > File "C:\Pysoft\Software\SMS Development\pySMS\Company.py", line 138,
> in
> > <module>
> > class Company(SQLObject):
> > File
> >
> "C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\declarative.py",
> > line 92, in __new__
> > cls.__classinit__(cls, new_attrs)
> > File
> >
> "C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\main.py",
> > line 789, in __classinit__
> > sqlmeta.addColumnsFromDatabase()
> > File
> >
> "C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\main.py",
> > line 441, in addColumnsFromDatabase
> > conn = connection or soClass._connection
> > File
> >
> "C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\dbconnection.py",
> > line 902, in __get__
> > return self.getConnection()
> > File
> >
> "C:\Python27\lib\site-packages\sqlobject-1.2.1-py2.7.egg\sqlobject\dbconnection.py",
> > line 915, in getConnection
> > "No connection has been defined for this thread "
> > AttributeError: No connection has been defined for this thread or process
>
> Oleg.
> --
> Oleg Broytman http://phdru.name/ p...@phdru.name
> Programmers don't die, they just GOSUB without RETURN.
>
>
> ------------------------------------------------------------------------------
> This SF email is sponsosred by:
> Try Windows Azure free for 90 days Click Here
> http://p.sf.net/sfu/sfd2d-msazure
> _______________________________________________
> sqlobject-discuss mailing list
> sqlobject-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss
>
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss