我使用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:
连接时间是否有限?
答案 0 :(得分:3)
Mysql有一个变量wait_timeout,它控制服务器等待客户端执行某些操作的时间。默认值为28800秒。随便,28800秒是8小时,因此您可能需要在服务器配置中检查它并将其设置为更大的值。
除此之外,您应该让您的工作人员终止,并让主管正常重启。或者(如果使用gen_server或gen_fsm)设置超时以发出查询或ping以保持连接每小时左右,以保持工作者活着。
最佳!