Использование интегратора данных для извлечения данных ETL из DB2 в SQL Server через некоторое время приведет к следующим ошибкам odbc:
Сбой канала связи. comm rc = 10055 - CWBCO1003 - Ошибка сокетов, функция вернула 10055
После этого ничего не может сделать с ODBC, необходимо перезагрузить компьютер, и в настоящее время мы просто перезагружаем его каждую ночь в полночь, чтобы избежать возникновения проблемы.
Пробовал это, http://support.microsoft.com/kb/196271 но это не сработало, чуть не стало хуже.
Похоже, что решения нет. Никакие другие устройства, использующие ODBC, не имеют этой проблемы, которую мы используем. Не могу переформатировать коробку сейчас, на ней устаревшие вещи.
Кто-нибудь видел эту проблему, сталкивался с ней, исправлял, смягчал?
Конечно, нехватка памяти, возможно, вызванная чрезвычайно распространенной ошибкой, когда не закрываются соединения с БД. Мои рекомендации:
Если вы видите, что серверы БД сообщают о большом количестве незанятых соединений в № 3, вы можете смягчить проблему, написав сценарии для активного отключения неиспользуемых соединений со стороны сервера сокета.
Это выстрел в темноте, но начнем.
«Функция вернула 10055» - это общая ошибка нехватки памяти или ресурсов, исходящая от WinSock, библиотеки сокетов Windows, которую использует ODBC.
Есть ли способ настроить соединение SQL Server с DB2 таким образом, чтобы он использовал именованные каналы вместо TCP / IP? Это полностью обойдет WinSock.
На этой неделе у меня возникли проблемы с приложением с утечкой дескриптора. Одним из симптомов было то, что «portqry.exe» возвращал ошибку Winsock 10055.