may you provide an example of this? i've broke my mind for past three days,
but can't get this code to work
i'm using latest sqlalchemy and pymssql from pip

engine = create_engine("mssql+pymssql://%s:%s@RTBD/rt?charset=utf8" %
(settings.RT_USER, settings.RT_PWD), echo = True, encoding = 'utf8')
metadata = MetaData()
metadata.reflect(engine, only = [u"Заказы",])
orders = metadata.tables[u'Заказы']
engine.execute(orders.select(orders.c[u'Номер заказа'] == u'14-01-0001'))

the exception is
ValueError                                Traceback (most recent call last)
<ipython-input-3-659410bb024c> in <module>()
----> 1 engine.execute(orders.select(orders.c[u'Номер заказа'] ==
u'14-01-0001'))

python2.7/site-packages/sqlalchemy/engine/base.pyc in execute(self,
statement, *multiparams, **params)
   1680
   1681         connection = self.contextual_connect(close_with_result=True)
-> 1682         return connection.execute(statement, *multiparams, **params)
   1683
   1684     def scalar(self, statement, *multiparams, **params):

python2.7/site-packages/sqlalchemy/engine/base.pyc in execute(self, object,
*multiparams, **params)
    718                                 type(object))
    719         else:
--> 720             return meth(self, multiparams, params)
    721
    722     def _execute_function(self, func, multiparams, params):

python2.7/site-packages/sqlalchemy/sql/elements.pyc in
_execute_on_connection(self, connection, multiparams, params)
    315
    316     def _execute_on_connection(self, connection, multiparams,
params):
--> 317         return connection._execute_clauseelement(self, multiparams,
params)
    318
    319     def unique_params(self, *optionaldict, **kwargs):

python2.7/site-packages/sqlalchemy/engine/base.pyc in
_execute_clauseelement(self, elem, multiparams, params)
    815             compiled_sql,
    816             distilled_params,
--> 817             compiled_sql, distilled_params
    818         )
    819         if self._has_events or self.engine._has_events:

python2.7/site-packages/sqlalchemy/engine/base.pyc in
_execute_context(self, dialect, constructor, statement, parameters, *args)
    945                                 parameters,
    946                                 cursor,
--> 947                                 context)
    948
    949         if self._has_events or self.engine._has_events:

python2.7/site-packages/sqlalchemy/engine/base.pyc in
_handle_dbapi_exception(self, e, statement, parameters, cursor, context)
   1109                                 )
   1110
-> 1111             util.reraise(*exc_info)
   1112
   1113         finally:

python2.7/site-packages/sqlalchemy/engine/base.pyc in
_execute_context(self, dialect, constructor, statement, parameters, *args)
    938                                      statement,
    939                                      parameters,
--> 940                                      context)
    941         except Exception as e:
    942             self._handle_dbapi_exception(

python2.7/site-packages/sqlalchemy/engine/default.pyc in do_execute(self,
cursor, statement, parameters, context)
    433
    434     def do_execute(self, cursor, statement, parameters,
context=None):
--> 435         cursor.execute(statement, parameters)
    436
    437     def do_execute_no_params(self, cursor, statement, context=None):

python2.7/site-packages/pymssql.so in pymssql.Cursor.execute
(pymssql.c:6057)()

python2.7/site-packages/_mssql.so in _mssql.MSSQLConnection.execute_query
(_mssql.c:9858)()

python2.7/site-packages/_mssql.so in _mssql.MSSQLConnection.execute_query
(_mssql.c:9734)()

python2.7/site-packages/_mssql.so in
_mssql.MSSQLConnection.format_and_run_query (_mssql.c:10814)()

python2.7/site-packages/_mssql.so in
_mssql.MSSQLConnection.format_sql_command (_mssql.c:11042)()

python2.7/site-packages/_mssql.so in _mssql._substitute_params
(_mssql.c:18359)()

<type 'str'>: (<type 'exceptions.UnicodeEncodeError'>,
UnicodeEncodeError('ascii', u'params dictionary did not contain value for
placeholder: \u041d\u043e\u043c\u0435\u0440
\u0437\u0430\u043a\u0430\u0437\u0430_1', 57, 62, 'ordinal not in
range(128)'))

SQLAlchemy log is
2014-04-18 22:43:46,413 INFO sqlalchemy.engine.base.Engine SELECT
[Заказы].[Номер заказа], <... a lot of fields here ...>
FROM [Заказы]
WHERE [Заказы].[Номер заказа] = %(Номер заказа_1)s
2014-04-18 22:43:46,414 INFO sqlalchemy.engine.base.Engine
{'\xd0\x9d\xd0\xbe\xd0\xbc\xd0\xb5\xd1\x80
\xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0_1': u'14-01-0001'}
2014-04-18 22:43:46,415 INFO sqlalchemy.engine.base.Engine ROLLBACK




2014-04-18 18:47 GMT+04:00 Michael Bayer <[email protected]>:

> yes, make sure you use Python unicode objects in Py2K (e.g. u'thename').
>
>
> On Apr 18, 2014, at 8:06 AM, Belegnar Dragon <[email protected]> wrote:
>
> Hello!
>
> Is it possible to handle with SQLAlchemy mssql database with cyrillic
> table and column names?
>
> --
> WBR,
>  TO
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>
>
>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "sqlalchemy" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sqlalchemy/Cv8DzGRzA5M/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Счастливой радости!
 Тимур Ожегин

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to