跳到主要内容

启动报错Java.Sql.Sqlrecoverableexception Io 错误 Undefined Error问题解决

·245 字·1 分钟

最近在给新来的实习生搭环境启动SpringBoot服务时,报了这个错,遂记录一下

报错信息 #

2022-02-25 10:01:37.585 ERROR 18688 --- [eate-1653925030] com.alibaba.druid.pool.DruidDataSource   : create connection SQLException, url: jdbc:oracle:thin:@10.4.131.30:1521:ora11g, errorCode 17002, state 08006

java.sql.SQLRecoverableException: IO 错误: Undefined Error
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:774) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644) ~[druid-1.1.21.jar:1.1.21]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710) ~[druid-1.1.21.jar:1.1.21]
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2753) ~[druid-1.1.21.jar:1.1.21]
Caused by: oracle.net.ns.NetException: Undefined Error
	at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:271) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.net.ns.NSProtocol.connect(NSProtocol.java:317) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
	... 6 common frames omitted

经过排查,这个报错是由于实习生的windows账户名是中文导致的,以下是不同IDE的解决方案:

解决: #

在vm argument中添加如 -Duser.name=user的一段参数。

1.IDEA #

2.Eclipse(普通web工程) #

3.Eclipse(SpringBoot工程) #