Добрый день. Есть база MSSQL на 4000 записей.
id,name,ip,comminity
1,host1,192.168.0.1,pblic
2,host2,192.168.0.2,pblic
3,host3,192.168.0.3,pblic
..
Установлен Python 2.7.6, python-pyodbc 3.0.6-2, freetds 0.91-5
В чем косяк? почему вешается MSSQL?
Есть смутное подозрение что при каждом прохождении цикла сервер выдает все записи те 4000 (в каждом отснифаном пакете-ответе больше чем одна строка). Скрипт смотрит 1, а что бы посмотреть следующею - опять запрашивает (получает) полный список, что приводит к лавинообразному росту нагрузки. Подскажите куда копать? как оптимизировать запрос\скрипт\настройки tds,odbc?
#!/usr/bin/env python
import pyodbc
cnx = pyodbc.connect("DSN=srv;DATABASE=base;UID=user;PWD=123" )
cursor = cnx.cursor()
cursor.execute("SELECT [IP],[Name] FROM [Nodes]")
row = cursor.fetchone()
while row:
IP = row[0]
Name = row[1]
print Name,IP
row = cursor.fetchone()
freetds.conf
[global]
tds version = 8.0
port = 1433
text size = 64512
try server login = yes
try domain login = no
client charset = UTF-8
[srv]
host = 172.25.2.1
port = 1433
tds version = 8.0
odbc.ini
[srv]
Description=Server
Driver=FreeTDS
Servername=srv