在windows 2k3 x64上使用pymssql 1.9.908有问题。我使用下面的代码来测试一个简单的查询。但是,我收到了这个错误:
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
cur.execute('SELECT * from tbl_staticDetails')
File "pymssql.pyx", line 296, in pymssql.Cursor.execute (pymssql.c:3246)
OperationalError: SQL Server message 4004, severity 16, state 1, line 1:
Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.
DB-Lib error message 4004, severity 16:
General SQL Server error: Check messages from the SQL Server下面是以空闲方式输入的示例代码:
>>> import pymssql
>>> conn = pymssql.connect(host='<IP reachable by my machine>', user='sa', password='<password>', database='<database nbame>')
>>> cur = conn.cursor()
>>> cur.execute('SELECT * from tbl_staticDetails')任何想法都会受到极大的赞赏。非常感谢!
发布于 2012-02-29 09:19:18
请参阅http://pymssql.sourceforge.net/faq.php
在SQL 2000 SP4或更新版本、SQL 2005或SQL 2008中,如果执行返回NTEXT类型数据的查询,可能会遇到以下异常:_mssql.MssqlDatabaseError: Server消息4004、严重性16、状态1、第1行:不能使用data (如ISQL)或ODBC版本3.7或更早版本向客户端发送独占排序规则或ntext数据。
这意味着Server无法将Unicode数据发送到pymssql,这是因为data for C的缺点,因此您必须将数据转换为等效的NVARCHAR数据类型,这并不会显示这种行为。
https://stackoverflow.com/questions/9495744
复制相似问题