我正在尝试使用以下方法将 Django 数据存储在 MS SQL Server 2005 上:
http://code.google.com/p/django-pyodbc/ (pyodbc + FreeTDS)
只要我存储由 ASCII 字符组成的字符串,一切都可以。当我使用 unicode(例如 '\xc5\x82')时,django 会在以下位置抛出 ProgrammingError:
ProgrammingError at /admin/cli/punktrejestracji/add/
('42000', '[42000] [FreeTDS][SQL Server]The incoming tabular data stream (TDS) protocol stream is incorrect. The stream ended unexpectedly. (4002) (SQLExecDirectW)')
trace 的最后一个元素是:
params ('\xc5\x82',)
self <django.db.backends.sql_server.pyodbc.base.CursorWrapper object at 0x92ef8ec>
sql 'SELECT (1) AS [a] FROM [cli_punktrejestracji] WHERE [cli_punktrejestracji].[adres] = ? '
BTW http://code.google.com/p/django-mssql/似乎在 Linux 下不起作用,django-mssql 需要 pythoncom 库。我对吗?