我利用ODBC连入数据库,函数大致是这样的
void UserInsert(HWND hwnd,LPCSTR lpcstr)
{
    SQLHENV henv = NULL;
    SQLHDBC hdbc = NULL;
    SQLHSTMT hstmt = NULL;
    SQLRETURN result;
    SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=;DATABASE=test;CharSet=gbk;";
    SQLCHAR ConnStrOut[MAXBUFLEN];
    result = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
    result = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
    result = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
    result = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)LOGIN_TIMEOUT, 0);
    result = SQLDriverConnect(hdbc,NULL,
                              ConnStrIn,SQL_NTS,
                              ConnStrOut,MAXBUFLEN,
                              (SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);
    if(SQL_ERROR==result)
    {
       ShowUserConnError(hwnd,hdbc);
       return;
    }
    result = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
    
result = SQLPrepare(hstmt,(SQLCHAR*)lpcstr,SQL_NTS);
CHECKUserSTMTERROR(hwnd,result,hstmt);
    result =SQLExecute(hstmt);
    CHECKUserSTMTERROR(hwnd,result,hstmt);
    
    SQLFreeStmt(hstmt,SQL_CLOSE);
    SQLDisconnect(hdbc);
    SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
    SQLFreeHandle(SQL_HANDLE_ENV,henv);
}我想到两种方法,一种是UDP通过SOCKET直接发送SQL语句,第二种是直接将SEVER=127.0.0.1改为服务器IP(局域网)
问第二种方法能不能实现,如果能那哪种方法更好?
如果是第一种方法  我用50台机器同时发送数据会不会丢包,每台机器都是间隔1-2S左右。
如果是第二种方法  会不会报MAX_CONNECTION错?MAX_CONNECTION怎么算的,按上面那样写,每执行一次就是1个CONNECTION还是只要不超过某个时间1台机器就是1个连接?