我正在使用Derby数据库并尝试在我的JSP应用程序中连接它。我试图通过使用正确的URL和数据库凭据调用DriverManager.getConnection()来获取数据库的连接。但是,这导致:
java.sql.SQLNonTransientConnectionException:网络协议异常:DSS在相同的id链解析结束时以相同的id链接。连接已终止。
为什么?
答案 0 :(得分:3)
此错误的原因是连接字符串中的用户名或密码无效。将正确的用户名和密码放在属性文件中。
<property name="username" value="dbUsername" />
<property name="password" value="yourpwd"/>
答案 1 :(得分:1)
我有同样的错误。
这是我的堆栈跟踪:
Caused by: java.sql.SQLNonTransientConnectionException: Netzprotokollausnahme: Das nächste DDS-Segment der Kette hat dieselbe ID wie das aktuelle Segment. Die Verbindung wurde beendet.
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
[...]
... 5 more
Caused by: org.apache.derby.client.am.DisconnectException: Netzprotokollausnahme: Das nächste DDS-Segment der Kette hat dieselbe ID wie das aktuelle Segment. Die Verbindung wurde beendet.
at org.apache.derby.client.net.Reply.endOfSameIdChainData(Unknown Source)
at org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(Unknown Source)
at org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source)
... 13 more
由于德语错误消息,我发布了此额外的堆栈跟踪。希望下一个具有相同错误和德语文本的人可以找到此问题和解决方案。 (我本来可以将其添加为问题的注释,但由于缺少声誉而不能添加。)
解决方案是,因为@ vels4j提到了错误的用户名/密码(我的用户最后使用空格/制表符)。