使用ODBC的数据库服务器机器的MySql连接超时

问题描述:

在我的应用程序中,我正在使用ODBC连接字符串从MySQL数据库读取数据。使用ODBC的数据库服务器机器的MySql连接超时

连接字符串是这样的:

"Driver={MySQL ODBC 5.3 Unicode Driver};Server=xxx.xxx.xxx.xxx;PORT=3306;Database=mysqltestdb;User=root;Password=1234;" 

在数据库服务器机器关闭的情况下,我需要在几秒钟内立即超时,比如5秒 - 它必须是一个低超时值。

如何在ODBC连接字符串中指定超时值,以防无法建立与数据库服务器计算机的连接?我的应用程序有一个限制,它只能使用ODBC。我试过了readtimeout = 5;连接超时= 5;默认命令timeout = 5; 但他们都没有工作。

编辑1: 如果我故意给出一个错误的IP地址,那么5秒的超时似乎正在工作,但是如果我给出正确的IP地址但端口错误,那么连接字符串中提到的超时不会工作;它仅在约20秒后才超时。任何线索?

您需要在ODBC连接字符串中设置“readtimeout”参数。该参数取决于您的MySQl服务器版本。

请查看 - >https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-connection-parameters.html