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 sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to