【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】驱动版本:oceanbase-client-2.4.12 数据库版本:4.2.5.4 数据库模式:oracle模式
【问题描述】使用obclient和dbeaver工具都可以连接上,但是java程序一连接就报错,账号和密码也没输错,不知道是什么原因
【附件及日志】
为啥不是连接2883的,你的obproxy是2881吗,理论来说2881应该是observer端口吧。
没带租户名。
如果直连OBServer:用户名@租户名
如果连OBProxy:用户名@租户名#集群名
你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询
url: jdbc:oceanbase://192.168.88.101:2883/fs_user?loadbalancestrategy=random&rewriteBatchedStatements=TRUE&allowMultiQueries=TRUE&useUnicode=TRUE&characterEncoding=utf-8&connectTimeout=30000&useCompatibleMetadata=True
username: FS_USER@fs_kone_db#obcluster
password: db123
driver-class-name: com.oceanbase.jdbc.Driver
testWhileIdle: true
validationQuery: SELECT 1 FROM DUAL 带了租户名,但是还是报错
url: jdbc:oceanbase://192.168.100.101:2883/fs_user?loadbalancestrategy=random&rewriteBatchedStatements=TRUE&allowMultiQueries=TRUE&useUnicode=TRUE&characterEncoding=utf-8&connectTimeout=30000&useCompatibleMetadata=True
username: FS_USER@fs_kone_db#obcluster
password: SZkingdb123
driver-class-name: com.oceanbase.jdbc.Driver
testWhileIdle: true
validationQuery: SELECT 1 FROM DUAL 用2883还是报错
用obclient命令行工具连下确认下密码
确认了,用obclient可以连接上
同一台服务器,用java程序连接就是连不上
用户名带了租户名连接,但是报错信息显示却没带租户名,就很奇怪
用2883还是报密码错误吗,是Oracle租户吗,还是MySQL租户,改成 select 1可以的吗。
FS_USER@fs_kone_db#obcluster,@符号被转义了,没有识别到?
access_denied,应该是密码错误,或者f防火墙?
兄弟正解
直接方式,账户格式不对吧??既然是企业版,找你oceanbase企业版技术支持即可,除非你是不知道从来弄来的企业安装包
都url 配置了直接把用户密码放url里面呀如下:
jdbc:mysql://$host:$port/$database_name?user=$user_name&password=$password&useSSL=false
如果非要拆出来,用户密码的内容用双引号包起来呀