windows-server-2003 – Windows 2003 ODBC问题 – 错误10055

使用数据集成器将ETL从DB2提取数据到sql Server,经过一段时间后,将会出现以下odbc错误

Communication link failure. comm
rc=10055 – CWBCO1003 – Sockets error,
function returned 10055

在此之后无法对ODBC做任何事情,必须重启盒子,目前我们只是每晚午夜重启盒子以尽量避免问题发生.

试过这个,http://support.microsoft.com/kb/196271但它没有用,差点让它变得更糟.

似乎没有解决方案.没有其他使用ODBC的框可以解决我们使用的这个问题.此时无法重新格式化此框,遗留内容.

有没有人见过这个问题,碰到它,修复它,减轻它?

当然是一种低内存条件,可能是因为没有关闭数据库连接的极端常见错误.我的建议是:

>检查进程运行时可用的非页面缓冲池内存量.可能会在机器出现故障之前稳步下降.这表示套接字未关闭或内核I / O缓冲区未被释放. (未封闭的套接字更有可能)
>通过’net sh winsock catalog>检查winsock堆栈中的未知或外部分层服务提供程序(LSP). wsockcat.txt”.将输出与其他Windows服务器进行比较.首先怀疑已插入到堆栈中的任何提供程序,这些提供程序源自mswsock.dll之外.
>如果问题是低非页面缓冲池,请参阅重新启动应用程序或DB服务器是否释放内存.您可能没有使用连接池,因此如果某些数据库访问层保持旧连接打开,那么’sp who’和’list applications’可能会显示有趣的结果.

如果您确实看到数据库服务器在#3中报告了大量空闲连接,则可以通过编写脚本来主动关闭来自套接字服务器端的未使用连接来缓解此问题.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...