【 使用环境 】测试环境
【 OB or 其他组件 】ODC桌面开发工具
【 使用版本 】4.4.3-1779953090000
【问题描述】Windows上使用ODC桌面工具,在数据库打开命令行窗口时,自动断开连接
【复现路径】
建立连接中…
建立连接成功…
为避免乱码问题,请保持数据库客户端编码和操作系统编码一致。
(一般情况下 Linux 操作系统默认字符编码为 UTF8,Windows 操作系统默认字符编码为 GBK,具体以实际情况为准)
连接已断开
【 使用环境 】测试环境
【 OB or 其他组件 】ODC桌面开发工具
【 使用版本 】4.4.3-1779953090000
【问题描述】Windows上使用ODC桌面工具,在数据库打开命令行窗口时,自动断开连接
【复现路径】
建立连接中…
建立连接成功…
为避免乱码问题,请保持数据库客户端编码和操作系统编码一致。
(一般情况下 Linux 操作系统默认字符编码为 UTF8,Windows 操作系统默认字符编码为 GBK,具体以实际情况为准)
连接已断开
logs.zip (560.3 KB)
[2026-06-30 22:08:42.548 CST][http-nio-8989-exec-1][8017959448ac4616,][INFO][com.oceanbase.odc.core.datasource.SingleConnectionDataSource$CloseIgnoreInvocationHandler][345]: Get connection unlock, lock=812703669
[2026-06-30 22:08:42.559 CST][http-nio-8989-exec-11][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer][197]: obclient session initializing, resourceId=sid:eyJkYklkIjoxMDAsImRzSWQiOjk3LCJmcm9tIjoiMTAuNi4xNDQuNjIiLCJsb2dpY2FsU2Vzc2lvbiI6ZmFsc2UsInJlYWxJZCI6Ijk3YmEzMzQ3YmQifQ==, sessionId=e
[2026-06-30 22:08:42.560 CST][http-nio-8989-exec-11][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer][240]: command to be execute: D:\Program Files\OceanBase Developer Center\OceanBase Developer Center\resources\libraries\obclient\obclient.exe -h10.6.151.21 -P2883 -u"XCIRMS_BNXP"@htxp#OB_BN -D"XCIRMS_BNXP" --init-command set names gbk --ob-disable_commands connect,conn,edit,nopager,notee,pager,print,prompt,rehash,system,tee,resetconnection
[2026-06-30 22:08:42.818 CST][http-nio-8989-exec-11][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer][242]: “XCIRMS_BNXP” has established connection with obclient, current connection number is 1, session id: e
[2026-06-30 22:08:42.818 CST][http-nio-8989-exec-11][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer][200]: obclient session initialized, resourceId=sid:eyJkYklkIjoxMDAsImRzSWQiOjk3LCJmcm9tIjoiMTAuNi4xNDQuNjIiLCJsb2dpY2FsU2Vzc2lvbiI6ZmFsc2UsInJlYWxJZCI6Ijk3YmEzMzQ3YmQifQ==, sessionId=e
[2026-06-30 22:08:42.818 CST][Obclient_Read_Thread_1385334006][,][INFO][com.oceanbase.odc.service.websocket.OBClientReadThread][47]: Obclient threadid:290 start to run
[2026-06-30 22:08:50.447 CST][odc-web-socket-schedule-0][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer$1][150]: Close session for backend thread has been killed, session id: e
[2026-06-30 22:08:50.448 CST][odc-web-socket-schedule-0][,][INFO][com.oceanbase.odc.server.web.websocket.WebSocketServer][351]: Terminate connection. Current connnection number is 0
[2026-06-30 22:08:50.455 CST][Obclient_Read_Thread_1385334006][,][INFO][com.oceanbase.odc.service.websocket.OBClientReadThread][84]: Obclient thread end, threadId=290
根据您提供的日志信息,ODC(OceanBase Developer Center)在尝试通过obclient命令行工具连接到OceanBase数据库时成功建立了连接。但是随后连接被意外断开。从日志中可以看到几个关键点:
obclient之间建立起了连接。这种情况下,可能的原因包括但不限于:
obclient进程自身异常退出。网络稳定性:检查您的网络环境是否稳定,尝试使用ping命令或者telnet命令测试与OceanBase服务器之间的连通性。
ping <OceanBase服务器IP>
telnet <OceanBase服务器IP> 2883
查看OceanBase日志:登录到OceanBase服务器,查阅相关时间点的日志文件,看看是否有任何关于断开连接的记录或警告信息。特别关注obclient使用的用户账号是否存在权限问题。
调整ODC设置:尝试修改ODC中的某些配置项,比如增加重试次数、延长超时时间等,看是否能改善情况。这些选项通常位于连接配置页面内。
升级软件版本:确认您正在使用的ODC版本是最新的。有时候bug修复或功能增强可以解决此类问题。如果当前使用的是测试版,则可能存在一些未发现的问题;考虑切换至稳定版或许有所帮助。
联系支持团队:如果您已经尝试了上述所有步骤但问题依旧存在,请将详细描述及完整的日志文件发送给OceanBase的技术支持团队,他们能够提供更深入的帮助。
遗憾的是,基于现有文档片段,并没有直接提到针对您遇到的具体问题的解决方案。这表明问题可能是由特定条件下触发的一个异常情况。按照上述建议进行排查,应该有助于识别根本原因并找到解决问题的方法。如果问题持续存在,建议尽快寻求官方技术支持。
详情请参考:
回答的真详细,
![]()
标准回复。
答得太好了
没有用过odc,看来以后得尝试一下了