В состоянии выдать только один SQL-оператор из isql

Я запускаю Debian, открывая ODBC-соединение с базой данных MSSQL в сети. Когда я запускаю isql, я могу выполнить один SQL-запрос. Если я повторяю тот же запрос второй раз, он возвращает 0 строк. Если я запускаю ту же команду в третий раз, соединение, наконец, выходит из строя, и мне приходится закрывать текущий сеанс и запускать новый isql. первые два запроса выглядят хорошо в моем журнале, хотя второй всегда возвращает 0 строк, но третий отказывает с EOF с сервера.

ODBC] [3270] [1366728023.855922] [SQLExecute.c] [344] Выход:[SQL_ERROR] DIAG [01000] [FreeTDS][SQL Server] Неожиданный EOF от сервера

1 ответ

Решение

Изменить: На самом деле я помню, теперь я обновил freeTDS до 0.91 и скомпилировал их вручную, и это, как мне казалось, исправило мою проблему, а также убедился, что у меня была правильная версия tds для моей версии MSSQL. Похоже, что в 2008 году у вас должна быть 8.0 в качестве выбранной версии. Это, похоже, не документировано нигде на странице freetds.

Я понятия не имею, что я сделал, но теперь все работает после двух дней борьбы с этим. все, что я сделал, это снова открыл мои конфигурационные файлы (freetds.conf, odbcinst.ini, odbc.ini), затем сохраните их и закройте. Не то чтобы я не делал этого миллион раз, пытаясь решить мою проблему, но после этого все теперь работает отлично. Я даже могу выбрать select *, чего не мог сделать раньше, когда isql работал с первым запросом, но не с последующими.

Другие вопросы по тегам