Mysql 我能';不要改变一个变量;最大执行时间;
我将Mysql 我能';不要改变一个变量;最大执行时间;,mysql,vbscript,timeout,odbc,Mysql,Vbscript,Timeout,Odbc,我将max\u execution\u time变量从MySQL更改为60000,但是当我在VBScript中使用ODBC驱动程序进行查询时,结果仍然是默认值30000 用于更改变量值的查询: 设置最大执行时间=60000; 设置全局最大执行时间=60000; 设置会话最大执行时间=60000; 使用ODBC的VBScript中使用的查询: 显示变量,如“%max_execution%”; 我预计产量为60000,但实际产量为30000 我正在Windows Server 2016上使用My
max\u execution\u time
变量从MySQL更改为60000,但是当我在VBScript中使用ODBC驱动程序进行查询时,结果仍然是默认值30000
用于更改变量值的查询:
设置最大执行时间=60000;
设置全局最大执行时间=60000;
设置会话最大执行时间=60000;
使用ODBC的VBScript中使用的查询:
显示变量,如“%max_execution%”;
我预计产量为60000,但实际产量为30000
我正在Windows Server 2016上使用MySQL Server 5.7
注意:这个问题只发生在ODBC上,因为我用PHP做了相同的测试,返回值是60000
有人知道那可能是什么吗
更新:
这是我用作测试的脚本:
Dim strCon
strCon=“DRIVER={MySQL ODBC 5.3 ANSI DRIVER};SERVER=xxx.xxx.xxx;PORT=3306;DATABASE=zadmin;USER=xxxx;PASSWORD=xxx;OPTION=3;MULTI_语句=1;”
Dim oCon:Set oCon=WScript.CreateObject(“ADODB.Connection”)
Dim oRs:Set oRs=WScript.CreateObject(“ADODB.Recordset”)
开放式strCon
设置oRs=oCon.Execute(“显示像“%max_execution_time%”这样的变量”)
而不是oRs.EOF
WScript.Echo oRs.Fields(1).Value
下一个
温德
奥肯,结束
设置oRs=无
设置oCon=Nothing
我找到了解决这个问题的办法。
MySQL ODBC驱动程序5.3.6或更高版本不会同化MySQL server 5.7.4或更高版本上“max_execution_time”变量的配置。
我通过安装MySQL ODBC驱动程序的5.1版解决了这个问题。我找到了解决这个问题的方法。 MySQL ODBC驱动程序5.3.6或更高版本不会同化MySQL server 5.7.4或更高版本上“max_execution_time”变量的配置。
我通过安装MySQL ODBC驱动程序的5.1版解决了我的问题。更改变量后,您是否建立了新的OBDC连接?使用
SET GLOBAL
仅影响运行SET
命令后建立的连接,SET SESSION
仅影响当前会话。是。我建立了一个新的连接。但是结果仍然是30000。您可能需要在配置文件中设置该值,而不仅仅是运行set
<代码>设置全局将在服务器重新启动后重置。您发布的代码已断开(连接字符串末尾缺少双引号)。请确保在发布前测试您的邮件。@AnsgarWiechers这是真的。在编辑连接字符串时,我已经删除了双引号。下次我会更加注意。自从更改变量后,您是否建立了新的OBDC连接?使用SET GLOBAL
仅影响运行SET
命令后建立的连接,SET SESSION
仅影响当前会话。是。我建立了一个新的连接。但是结果仍然是30000。您可能需要在配置文件中设置该值,而不仅仅是运行set
<代码>设置全局将在服务器重新启动后重置。您发布的代码已断开(连接字符串末尾缺少双引号)。请确保在发布前测试您的邮件。@AnsgarWiechers这是真的。在编辑连接字符串时,我已经删除了双引号。下次我会有更多的注意力。