Vic Ricker <[EMAIL PROTECTED]> writes: > Sorry about that. I added something to dump follow getNextException() > and getCause(). I got the following exception from getCause(), I > believe. I don't think getNextException() returned anything.
Thanks you did exactly the right thing. I should have mentioned getCause() as well. (Both are currently in use, I believe). I agree with Bryan's conclusions in another email; this sounds like a Derby bug. Based on the call stack I'd say what you're seeing is a "meta error" (for lack of a better word). I think that what is happening is that the client sends a request to prepare a statement to the server, but something goes wrong and an error is returned. As the client tries to parse the reply it detects that an error has occured (parsePrepareError(NetStatementReply.java:527)), but the error handling appears not to be able to handle the returned error correctly, and so you end up with a generic (and rather unhelpful) error message. If my analysis is correct, you may get around this if you can guess or trace what the root cause on the server is, and avoid it altogether. The best thing, obviously would be if you could come up with a small(er) example which reproduces the problem, which you can share with us (include in a Jira issue). Without being able to reproduce the problem, it will be nearly impossible for someone else to fix it, I'm afraid. > org.apache.derby.client.am.DisconnectException: A network protocol > error was encountered and the connection has been terminated: the > requested command encountered an unarchitected and > implementation-specific condition for which there was no architected > message > org.apache.derby.client.net.NetConnectionReply.parseCMDCHKRM(NetConnectionReply.java:888) > org.apache.derby.client.net.NetStatementReply.parsePrepareError(NetStatementReply.java:527) > org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(NetStatementReply.java:143) > org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(NetStatementReply.java:52) > org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(StatementReply.java:40) > org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(NetStatement.java:139) > org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Statement.java:1341) > org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(PreparedStatement.java:1874) > org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(PreparedStatement.java:1952) > org.apache.derby.client.am.PreparedStatement.prepare(PreparedStatement.java:309) > org.apache.derby.client.am.Connection.prepareStatementX(Connection.java:1646) > org.apache.derby.client.am.Connection.prepareStatement(Connection.java:413) > com.scs.database.sql.MoneyDatabaseSQLType.prepareStatement(MoneyDatabaseSQLType.java:2235) > com.scs.database.sql.MoneyDatabaseSQLType.getTransactionByReferenceNumber(MoneyDatabaseSQLType.java:3393) > com.scs.money.transaction.TransactionTable.getByReferenceNumber(TransactionTable.java:43) > com.scs.money.data.TransactionImportEntry.isDuplicateReference(TransactionImportEntry.java:334) > com.scs.money.data.TransactionImportEntry.setReferenceNumber(TransactionImportEntry.java:178) > com.scs.money.data.MoneyImportFile.processMoneyImportFile(MoneyImportFile.java:750) > com.scs.money.data.DataProcessPanel.doImport(DataProcessPanel.java:201) > com.scs.money.data.DataProcessPanel.access$000(DataProcessPanel.java:19) > com.scs.money.data.DataProcessPanel$1.process(DataProcessPanel.java:52) > com.scs.money.TaskedJob.process(TaskedJob.java:19) > com.scs.money.TaskedJob$1.processTask(TaskedJob.java:33) > com.scs.taskmanager.TaskManager.cycle(TaskManager.java:71) > com.scs.taskmanager.TaskManager.run(TaskManager.java:23) -- dt
