I am having some problems using this approach. How should I use the
class STAsText in the GisElement.wkt property (example below)?
My current attempts are not working... it seems that the correct
statement is generated "SELECT :param_1.STAsText()", but the Geography
instance is not being passed as a parameter, i.e. the parameters list
is empty.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
example script snippets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@compiles_as_bound
class STAsText(FunctionElement):
name = 'STAsText'
class GisElement(object):
"""Represents a geometry value."""
@property
def wkt(self):
return STAsText(literal(self, Geography)).select()
#...
print session.scalar(r1.road_geom.wkt)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error messages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2010-01-27 12:25:16,904 INFO sqlalchemy.engine.base.Engine.0x...4270
SELECT :param_1.STAsText()
2010-01-27 12:25:16,904 INFO sqlalchemy.engine.base.Engine.0x...4270
[]
Traceback (most recent call last):
File ".\sql_server_spatial.py", line 514, in <module>
print session.scalar(r1.road_geom.as_wkt)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\orm\session.py", line 742, in scalar
return self.execute(clause, params=params, mapper=mapper,
**kw).scalar()
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\orm\session.py", line 737, in execute
clause, params or {})
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\base.py", line 1043, in execute
return Connection.executors[c](self, object, multiparams, params)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\base.py", line 1105, in _execute_clauseelement
return self.__execute_context(context)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\base.py", line 1128, in __execute_context
self._cursor_execute(context.cursor, context.statement,
context.parameters[0], context=context)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\base.py", line 1190, in _cursor_execute
self._handle_dbapi_exception(e, statement, parameters, cursor,
context)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\base.py", line 1188, in _cursor_execute
self.dialect.do_execute(cursor, statement, parameters,
context=context)
File "c:\python25\lib\site-packages\SQLAlchemy-0.6beta1dev-py2.5.egg
\sqlalchemy\engine\default.py", line 220, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', "[42000]
[Microsoft][SQL Native Client][SQL Server]Incorrect syntax near ':'.
(102) (SQLExecDirectW)") u'SELECT :param_1.STAsText()' []
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
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.