Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang ODBC在8小时不活动后崩溃_Erlang_Odbc - Fatal编程技术网

Erlang ODBC在8小时不活动后崩溃

Erlang ODBC在8小时不活动后崩溃,erlang,odbc,Erlang,Odbc,我使用odbc接口mysql。我通过以下代码启动odbc: ConnectString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mydb; User=userdb;Password=pwddb;Option=3;",case odbc:connect(ConnectString, [{scrollable_cursors,off}]) of ... 8小时不活动(或多或少)后,odbc崩溃: =CRASH

我使用odbc接口mysql。我通过以下代码启动odbc:

ConnectString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mydb; User=userdb;Password=pwddb;Option=3;",case odbc:connect(ConnectString, [{scrollable_cursors,off}]) of ...    
8小时不活动(或多或少)后,odbc崩溃:

=CRASH REPORT==== 22-Jun-2012::02:09:27 ===   crasher:
    initial call: odbc:init/1
    pid: <0.113.0>
    registered_name: []
    exception exit: {stopped,{'EXIT',<0.108.0>,killed}}
      in function  gen_server:terminate/6 (gen_server.erl, line 737)
    ancestors: [odbc_sup,<0.111.0>]
    messages: [{'EXIT',#Port<0.967>,normal}]
    links: [<0.112.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 377
    stack_size: 24
    reductions: 2237   neighbours:
=坠机报告===2012年6月22日::02:09:27===坠机者:
初始调用:odbc:init/1
pid:
注册名称:[]
异常退出:{stopped,{'exit',killed}
在gen_server功能中:终止/6(gen_server.erl,第737行)
祖先:[odbc_sup,]
消息:[{'EXIT',#Port,normal}]
链接:[]
字典:[]
陷阱_退出:正确
状态:正在运行
堆大小:377
堆栈大小:24
减少:2 237个邻国:
连接的时间有限吗?

Mysql有一个变量,控制服务器等待客户端执行某项操作的时间。默认值为28800秒。随便说,28800秒是8小时,所以您可能希望在服务器配置中检查这一点,并将其设置为更大的值

除此之外,您应该让您的工作人员终止,并让主管按正常方式重新启动它。或者(如果使用gen_服务器或gen_fsm)设置超时以发出查询或ping以每隔一小时左右保持连接活动,以保持工作进程活动

最好的

Mysql有一个变量,用于控制服务器等待客户端执行某项操作的时间。默认值为28800秒。随便说,28800秒是8小时,所以您可能希望在服务器配置中检查这一点,并将其设置为更大的值

除此之外,您应该让您的工作人员终止,并让主管按正常方式重新启动它。或者(如果使用gen_服务器或gen_fsm)设置超时以发出查询或ping以每隔一小时左右保持连接活动,以保持工作进程活动


最好的

。。。或者在某些情况下,尝试在不发送任何查询的情况下不保持打开的连接。@Bertaud Hi!对的我知道它在C api()中,但我不确定如何使用odbc驱动程序来实现它。。。或者在某些情况下,尝试在不发送任何查询的情况下不保持打开的连接。@Bertaud Hi!对的我知道它在C api()中,但我不确定如何使用odbc驱动程序来实现