SQL Server
1.1 连接 SQL Server 缺少额外字符串
问题现象:
在创建连接 SQL Server 数据源时,创建失败并报如下图所示错误,驱动程序无法使用安全套接字层(SSL)加密建立与 SOL 服务器的安全连接。
Communications link failure The last packet sent successfully to the server was 0 miliseconds ago. The driver has not received any packets from the server.
解决办法:
在额外的 JDBC 连接字符串中添加"encrypt=true;trustServerCertificate=true",在连接到 SOL 服务器时启用 SSL 加密,并信任服务器的证书,绕过对服务器证书的验证。
1.2 v2.10版本,连接旧版本 SQL Server 报错
问题现象:
连接 SQL Server 2008R2 数据源时报错:The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: “The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”. ClientConnectionId:aee28705-714e-49c4-981b-468c87c7cae0+ 或者是在创建旧版本数据源出现的其他错误,都可以试试以下方法。
解决办法:
在 JDBC 连接字符串里加上:encrypt=false 。
MySQL
1.1 MySQL 不允许远程登录
问题现象:
在创建 MySQL 数据源时报错 ”Access denied for user ‘root‘@‘localhost‘ (using password: YES)“。
解决方法:
1、登录进入 MySQL 容器;
docker exec -it mysql-de mysql -uroot -pPassword123@mysql
use mysql;
select host from user where user = ‘root’;
该结果表示是当前的 root 用户限制在当前的 ip 内访问的,需要修改他的访问域 。
2 、将 root 用的 host 的 localhost 改为’%‘;
update user set host = ‘%’ where user = ‘root’;
3、 执行 FLUSH PRIVILEGES 或者重启 MySQL 即可。
#重启 MySQL 容器
docker restart mysql-de
所有数据源都适用
1.1 Communication link failed
问题现象:
在创建数据源时,报如下图所示错误,dataease 到目标数据源的端口连接不通。
解决方法:
端口不通导致的连接问题可以从安全组、防火墙或者是网络策略等方面去排查该问题。
关于如何验证端口的连通性,可以参考以下内容:
执行如下命令,其中,IP 换成对应的主机名,PORT 换成对应的端口
docker exec -it dataease nc -zv IP:PORT