解决solidworks electrical无法连接数据库
很多人在第一次安装电气软件的过程中,会遇到这样的一个问题:“无法连接至数据库,请检查连接参数”,相信很多人看到就感到非常的头疼。的确,对于我们专业人士来说,也是非常的难受,那怎么办呢?有什么办法可以解决这个问题,下面会提供二种方法,按照此方案一步一步进行,总有一种能够解决数据库的连接问题。
方法一:启动SQL server软件服务
解决方法如下:
1.右键计算机选择管理
2.找到SQL服务器对应位置
3.右键启动该服务
4.双击该服务,将启动类型设置为自动,确定
5. 完成设置,重启SOLIDWORKS Electrical
方法2:没有tew-app-data,如何增加
当你发现登录SQL之后,没有tew-app-data时,这时候有可能是安装的时候没有正确安装,有可能是登录的实例错误了。解决方案如下:
1、选择正确的实例,打开SQL management studio,在登录界面的服务器名称下拉选择浏览更多
查看数据库引擎,查看能够连接的数据库服务器
在选择过程中,\\之前属于电脑名,如果在同一个局域网之间,可能会查找到其他人的数据库,这时候要注意\\前的电脑与自己的电脑名一致,例如,现在的数据库引擎前的电脑名为“HT-TS-13”,右键计算机,查看属性,确保自己的电脑名一致
选择之后执行方案2 ,直到找到tew-app-data,解决问题
2、若所有的数据库都没有找到tew-app-data,则需要重新执行安装程序,在安装软件的选择
中选择如下
1) 选择现有的SQL server实例,填写数据库名、sa和密码,进行安装
安装之后,启动SQL查看一下是否有tew-app-data,如果有,则直接启动软件即可
2) 选择安装SQL server的新实例
数据库的名称注意不要跟原有的冲突
安装完成之后,需要修改SOLIDWORKS electrical的软件设置
这里的数据库名称为新建的名称,账号为TEW ,密码是SQLpwd4ew
如果还有想知道的问题解决方法,点击立即咨询solidworks正版代理商
Oracle数据库无法连接问题排查
数据库告警日志 如下图 。发现 问题时间段,没有 数据库服务故障 报错,但是存在较多 TNS-12535 、 12560 、 12170 、 00505 错误:
通过检查问题时间段应用日志, 也记录了 Caused by: java.sql.SQLRecoverableException: IO 错误: Connection reset 和 Caused by: java.net.SocketException: Connection reset 等 连接 重置 的相关报错:
问题分析:
1 、 数据库层面分析:
参考官网关于这类数据库错误的文章:A Demonstration of the Alert Log Timeouts Occur: TNS-12170/TNS-12535/TNS-12560/TNS-00505 (Doc ID 2461900.1)
ORACLE官方针对这类错误明确:错误堆栈依次为TNS-12170/TNS-12535/TNS-12560/TNS-00505,这表明由于网络问题,已建立的连接超时。例如,网络电缆被拔出,防火墙断开连接,或者客户端崩溃而没有通知服务器等等。
在这种情况下,oracle服务器进程无法确定客户端状态,它必须等到tcp保活超时(可能是几个小时),则该过程将被终止,并且上述消息将被打印在警报日志中。这是一个网络/应用程序问题,而不是oracle错误。
所以原因需要从数据库以外方向去查。
2 、 应用报错层面分析
参考官网关于 SQLRecoverableException 这类应用报错误的文章 1 :JDBC 11.2.0.3 Application Fails With java.sql.SQLRecoverableException: IO Error: Connection reset (Doc ID 1575238.1)
可以看到该应用程序日志的版本与上面官网JDBC 11.2.0.3 ojdbc6.jar connection with JDK 1.6 匹配。
主要原因为:该问题是由位于客户端和服务器之间的TCP/IP网络设备(防火墙、路由器等)引起的,该设备设置为在超过任何MTU(最大传输单元)或数据包大小时限制或限制通过它的通信。
What Causes the \”java.net.SocketException: Connection Reset\” Error? (Doc ID 786219.1)
ORACLE官方认为,导致connection reset被重置的常见原因为:
1)客户端浏览器已刷新或关闭。如果由于这种情况而报告错误消息,通常是因为系统中可能存在性能问题。要解决此问题,请找到性能不佳的瓶颈并消除它。
2)客户端和WebLogic服务器之间有防火墙,防火墙已断开连接。对于这种情况,请正确设置防火墙。
3)网络拥塞导致操作超时。缓解网络拥塞,问题应该得到解决
所以该问题主要是由于 应用端与 数据库 服务器端的网络通信异常 导致本次问题。建议做如下调整:
网络层面:检查应用端、服务器端、防火墙的MTU值是否一致,更改应用端、服务端的MTU值与防火墙一致,MTU默认值为1500,参考可调至9000(oracle原厂建议oracle服务器是 9000,同时参考了其他银行的MTU值),建议网络工程师可以用ping包的方式 测试出符合当前环境的最佳MTU 。
数据库层面:
在sqlnet.ora增加参数:SQLNET.INBOUND_CONNECT_TIMEOUT = 0
在 listener.ora 增加:INBOUND_CONNECT_TIMEOUT_LISTENER = 0
MySQL开放远程权限,竟然连不上?可能是这几个地方没做好
- 现象描述:
在一次基于公有云ubuntu 24.04的测试环境中,通过内置软件源安装了MySQL应用,配置访问主机名已改为%,但通过公网IP无法连接
- 原因分析:
公有云的云主机默认是关闭系统防火墙功能的,而且我的安全组默认开放所有端口,这样方便测试。因此,首先这两项已经排除了
下面可以从这几个方面排查问题,包括刷新权限列表、主机绑定、认证插件类型
- 未刷新权限表
如果将root的主机名修改为%后,需要刷新权限列表使其生效
- 主机绑定
这是遇到的第一个错误,错误10061表示“由于目标计算机积极拒绝,无法连接”。这可能意味着你尝试连接的 MySQL 服务器没有监听指定的端口,或者防火墙阻止了连接请求。
公有云主机防火墙是默认关闭的,因此,不存在防火墙拦截的问题。那么可以从其他原因排查
10061错误
查看[mysqld]配置中是否存在bind-address = 127.0.0.1,该配置会限制MySQL客户端只能在本机访问,可以注释掉,或者修改为0.0.0.0
修改完成记得重启MySQL服务
- 密码认证插件类型
配置文件修改了,此时再次尝试连接MySQL,提示错误号码1698,这个就是密码认证插件的问题了
错误号码1698
查看认证插件类型
可以看到,此时root用户的认证类型为auto_socket,并不是默认的mysql_native_password
小贴士:
auth_socket 是一个插件,通常用于 MySQL 数据库服务器中。它允许客户端通过操作系统本身的认证机制来连接到 MySQL 服务器,而不需要在 MySQL 中单独设置密码。这意味着,如果操作系统的用户账户与 MySQL 用户账户相匹配,并且该用户具有使用 auth_socket 插件的权限,那么该用户就可以直接登录到 MySQL 而无需输入密码。
—————– 我是一条分割线
这个功能一般用于一些需要自动化的场景中,比如脚本或服务需要定期连接到数据库执行任务,而避免了硬编码数据库凭证的风险。此外,这也提高了安全性,因为减少了因密码泄露而导致的安全风险。
修改密码插件认证类型
执行修改命令
这是修改后的结果
经过以上操作,问题终于解决了。主要的原因是主机绑定和密码认证插件类型的问题
- 反向域名解析(只是警告)
这个可以在MySQL的错误日志当中查看到,路径为/var/log/mysql/error.log
出现错误的原因是MYSQL Server在本地内存中维护了一个非本地的Client TCP cache,这个cache中包含了远程Client的登录信息,比如IP地址,hostname等信息。如果Client连接到服务器后,Mysql首先会在本地TCP池中根据IP地址解析客户端的hostname或者反向解析,如果解析不到,就会去DNS中进行解析,如果还是解析失败就是在error log中写入这样的警告信息。
严格来说,这不算是一个错误,只是警告,服务端也能够正常连接。但建议禁用掉,毕竟远程访问多了,会消耗一部分服务端性能,这也算是一种优化措施
解决办法:
在配置文件[mysqld]块中添加如下参数
修改完成,记得重启MySQL服务
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。