Я не могу изменить переменную "max_execution_time" - PullRequest
1 голос
/ 13 мая 2019

Я изменяю переменную max_execution_time с MySQL на 60000, но когда я делаю запрос с использованием драйвера ODBC в VBScript, результат остается по умолчанию 30000.

Запросы, использованные для изменения значения переменной:

SET max_execution_time = 60000;
SET GLOBAL max_execution_time = 60000;
SET SESSION max_execution_time = 60000;

Запросы, используемые в VBScript с ODBC:

show variables like '%max_execution%';

Я ожидаю выход 60000, но фактический вывод 30000.

Я использую MySQL Server 5.7 на Windows Server 2016.

Примечание: Эта проблема возникает только с ODBC, потому что я сделал тот же тест с PHP и возвращаемое значение было 60000.

Кто-нибудь знает, что это может быть?

Обновление:

Это скрипт, который я использую в качестве теста:

Dim strCon

strCon = "DRIVER = {MySQL ODBC 5.3 ANSI Driver}; SERVER = xxx.xxx.xxx.xxx; PORT = 3306; DATABASE = zadmin; USER = xxxx; PASSWORD = xxx; OPTION = 3; MULTI_STATEMENTS = 1;"

Dim oCon: Set oCon = WScript.CreateObject ("ADODB.Connection")
Dim oRs: Set oRs = WScript.CreateObject ("ADODB.Recordset")
oCon.Open strCon

Set oRs = oCon.Execute ("show variables like '% max_execution_time%';")

While Not oRs.EOF
    WScript.Echo oRs.Fields (1) .Value
    oRs.MoveNext
Wend
oCon.Close

Set oRs = Nothing
Set oCon = Nothing

1 Ответ

0 голосов
/ 15 мая 2019

Я нашел решение для этого случая. Драйвер ODBC MySQL 5.3.6 или новее не ассимилирует конфигурацию переменной 'max_execution_time' на сервере MySQL 5.7.4 или новее. Я решил свою проблему, установив версию 5.1 драйвера MySQL ODBC.

...