环境是Windows XP SP3,MySQL 5.1.33,客户端是Bin下的libmysql.dll。
已经打了注册表补丁:
"TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"=dword:0000fffe
.h
MYSQL *mysql;
.cpp
try
{
// MYSQL mysql_struct;
// mysql = &mysql_struct;
// mysql_init(mysql);
mysql = mysql_init(NULL); //时间久了(2小时以上),执行到这里会异常
if (NULL == mysql)
::MessageBox(NULL, _T("出错了!"), _T("TEST MODE"), MB_OK);
if (!mysql_real_connect(mysql,"127.0.0.1", "root", "", "db",3309,NULL,0))
{
CString str;
str.Format("%d,%s", i,mysql_error(mysql));
::MessageBox(NULL, _T(str), _T("TEST MODE"), MB_OK);
//printf( "Error connecting to database: %s\n",mysql_error(mysql));
}
else
printf("Connected...\n");
//
// mysql_set_character_set(mysql,"gbk");
_tcscpy(lpszString, _T("call SP_DWXX(330000)"));
mysql_real_query(mysql, lpszString, _tcslen(lpszString));
mysql_close(mysql);
mysql=NULL;
mysql_library_end();//这里也会异常
}
catch (...)
{
CString str;
str.Format("catch:%d", i);
::MessageBox(NULL, _T(str), _T("TEST MODE"), MB_OK);
}
}