Всем привет,
попробовал писать тулзу, которая по информации из базы будет строить карту сети. База в MS SQL, а таблицы её имеют кириллические названия (называл не я).
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pypyodbc
conn = pypyodbc.connect('DSN=kcbase;uid=TheAdmin;pwd=DaPazz;database=kcbase')
print conn.cursor().execute('select * from Порт').fetchone()[0]
Traceback (most recent call last):
File "./buildfkinmap.py", line 9, in <module>
print conn.cursor().execute('select * from Порт').fetchone()[0]
File "/usr/local/lib/python2.6/dist-packages/pypyodbc.py", line 1552, in execute
self.execdirect(query_string)
File "/usr/local/lib/python2.6/dist-packages/pypyodbc.py", line 1573, in execdirect
check_success(self, ret)
File "/usr/local/lib/python2.6/dist-packages/pypyodbc.py", line 949, in check_success
ctrl_err(SQL_HANDLE_STMT, ODBC_obj.stmt_h, ret, ODBC_obj.ansi)
File "/usr/local/lib/python2.6/dist-packages/pypyodbc.py", line 919, in ctrl_err
raise ProgrammingError(state,err_text)
pypyodbc.ProgrammingError: (u'42000', u"[42000] [FreeTDS][SQL Server]Incorrect syntax near 'from'.")
Судя по всему, проблема в кириллице. Тот же запрос через тот же DSN с помощью isql работает нормально.
С этим можно что-то поделать?