Я устанавливаю python = 2.7.15, web.py = 0.39, ОС - это сервер Widnows 2016 и SQL Server 2012, используя следующий код для подключения SQL-сервера:
import web
DATABASE_ARGS = {
"dbn": "mssql",
"host": "127.0.0.1",
"port": "1433",
"db": "db",
"user": "user",
"password": "password",
"charset": "utf8",
# DBUtils
"mincached": 1,
"maxcached": 2,
"maxshared": 3,
"maxconnections": 5,
"blocking": True,
"setsession": ""
}
db = web.database(**DATABASE_ARGS)
Метод
db.insert('table1', vars, where='id=111')、
db.update('table1', where='id=111', value='new vars')、
db.delete('table1', where='id=111')
хорошо работает.
Когда я использую следующий код:
db.select('table1')
0.02 (1):SELECT * FROM table1
<web.utils.IterBetter instance at 0x0333DD30>
db.select('table1').list()
0.02 (1):SELECT * FROM table1
[]
list(db.select('table1'))
0.02 (1):SELECT * FROM table1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: __len__() should return >= 0
Я пробую SQL Server 2005, SQL Server 2008, SQL Server 2012, SQL Server 2017, Это та же проблема, но тот же код работаетну в mysql 5.5.Можете ли вы помочь мне исправить это.Большое спасибо.