📄 netconnectionreply.java
字号:
"The user is not authorized to access the database.", SqlState._08004)); } // Data Stream Syntax Error Reply Message indicates that the data // sent to the target agent does not structurally conform to the requirements // of the DDM architecture. The target agent terminated paring of the DSS // when the condition SYNERRCD specified was detected. // PROTOCOL architects an SQLSTATE of 58008 or 58009. // // Messages // SQLSTATE : 58009 // Execution failed due to a distribution protocol error that caused deallocation of the conversation. // SQLCODE : -30020 // Execution failed because of a Distributed Protocol // Error that will affect the successful execution of subsequent // commands and SQL statements: Reason Code <reason-code>. // Some possible reason codes include: // 121C Indicates that the user is not authorized to perform the requested command. // 1232 The command could not be completed because of a permanent error. // In most cases, the server will be in the process of an abend. // 220A The target server has received an invalid data description. // If a user SQLDA is specified, ensure that the fields are // initialized correctly. Also, ensure that the length does not // exceed the maximum allowed length for the data type being used. // // The command or statement cannot be processed. The current // transaction is rolled back and the application is disconnected // from the remote database. // // // Returned from Server: // SVRCOD - required (8 - ERROR) // SYNERRCD - required // RECCNT - optional (MINVAL 0, MINLVL 3) (will not be returned - should be ignored) // CODPNT - optional (MINLVL 3) // RDBNAM - optional (MINLVL 3) // protected void parseSYNTAXRM() throws DisconnectException { boolean svrcodReceived = false; int svrcod = CodePoint.SVRCOD_INFO; boolean synerrcdReceived = false; int synerrcd = 0; boolean rdbnamReceived = false; String rdbnam = null; boolean codpntReceived = false; int codpnt = 0; parseLengthAndMatchCodePoint(CodePoint.SYNTAXRM); pushLengthOnCollectionStack(); int peekCP = peekCodePoint(); while (peekCP != Reply.END_OF_COLLECTION) { boolean foundInPass = false; if (peekCP == CodePoint.SVRCOD) { foundInPass = true; svrcodReceived = checkAndGetReceivedFlag(svrcodReceived); svrcod = parseSVRCOD(CodePoint.SVRCOD_ERROR, CodePoint.SVRCOD_ERROR); peekCP = peekCodePoint(); } if (peekCP == CodePoint.SYNERRCD) { foundInPass = true; synerrcdReceived = checkAndGetReceivedFlag(synerrcdReceived); synerrcd = parseSYNERRCD(); peekCP = peekCodePoint(); } if (peekCP == CodePoint.RDBNAM) { foundInPass = true; rdbnamReceived = checkAndGetReceivedFlag(rdbnamReceived); rdbnam = parseRDBNAM(true); peekCP = peekCodePoint(); } if (peekCP == CodePoint.CODPNT) { foundInPass = true; codpntReceived = checkAndGetReceivedFlag(codpntReceived); codpnt = parseCODPNT(); peekCP = peekCodePoint(); } // RECCNT will be skipped. if (!foundInPass) { doPrmnsprmSemantics(peekCP); } } popCollectionStack(); checkRequiredObjects(svrcodReceived, synerrcdReceived); netAgent_.setSvrcod(svrcod); doSyntaxrmSemantics(codpnt); } // RDB Currently Accessed Reply Message inidcates that the // ACCRDB command cannot be issued because the requester // has access to a relational database. // PROTOCOL architects an SQLSTATE of 58008 or 58009. // // Messages // SQLSTATE : 58009 // Execution failed due to a distribution protocol error that caused deallocation of the conversation. // SQLCODE : -30020 // Execution failed because of a Distributed Protocol // Error that will affect the successful execution of subsequent // commands and SQL statements: Reason Code <reason-code>. // Some possible reason codes include: // 121C Indicates that the user is not authorized to perform the requested command. // 1232 The command could not be completed because of a permanent error. // In most cases, the server will be in the process of an abend. // 220A The target server has received an invalid data description. // If a user SQLDA is specified, ensure that the fields are // initialized correctly. Also, ensure that the length does not // exceed the maximum allowed length for the data type being used. // // The command or statement cannot be processed. The current // transaction is rolled back and the application is disconnected // from the remote database. // // // Returned from Server: // SVRCOD - required (8 - ERROR) // RDBNAM - required // private void parseRDBACCRM() throws DisconnectException { boolean svrcodReceived = false; int svrcod = CodePoint.SVRCOD_INFO; boolean rdbnamReceived = false; String rdbnam = null; parseLengthAndMatchCodePoint(CodePoint.RDBACCRM); pushLengthOnCollectionStack(); int peekCP = peekCodePoint(); while (peekCP != Reply.END_OF_COLLECTION) { boolean foundInPass = false; if (peekCP == CodePoint.SVRCOD) { foundInPass = true; svrcodReceived = checkAndGetReceivedFlag(svrcodReceived); svrcod = parseSVRCOD(CodePoint.SVRCOD_ERROR, CodePoint.SVRCOD_ERROR); peekCP = peekCodePoint(); } if (peekCP == CodePoint.RDBNAM) { foundInPass = true; rdbnamReceived = checkAndGetReceivedFlag(rdbnamReceived); rdbnam = parseRDBNAM(true); peekCP = peekCodePoint(); } if (!foundInPass) { doPrmnsprmSemantics(peekCP); } } popCollectionStack(); checkRequiredObjects(svrcodReceived, rdbnamReceived); netAgent_.setSvrcod(svrcod); agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_, "Execution failed due to a distribution protocol error that caused " + "deallocation of the conversation. " + "The access relational database command cannot be issued because an " + "RDB is already currently accessed.", SqlState._58009)); } // RDB Access Failed Reply Message specifies that the relational // database failed the attempted connection. // An SQLCARD object must also be returned, following the // RDBAFLRM, to explain why the RDB failed the connection. // In addition, the target SQLAM instance is destroyed. // The SQLSTATE is returned in the SQLCARD. // // Messages // SQLSTATE : 58009 // Execution failed due to a distribution protocol error that caused deallocation of the conversation. // SQLCODE : -30020 // Execution failed because of a Distributed Protocol // Error that will affect the successful execution of subsequent // commands and SQL statements: Reason Code <reason-code>. // Some possible reason codes include: // 121C Indicates that the user is not authorized to perform the requested command. // 1232 The command could not be completed because of a permanent error. // In most cases, the server will be in the process of an abend. // 220A The target server has received an invalid data description. // If a user SQLDA is specified, ensure that the fields are // initialized correctly. Also, ensure that the length does not // exceed the maximum allowed length for the data type being used. // // The command or statement cannot be processed. The current // transaction is rolled back and the application is disconnected // from the remote database. // // // Returned from Server: // SVRCOD - required (8 - ERROR) // RDBNAM - required // private void parseRDBAFLRM() throws DisconnectException { boolean svrcodReceived = false; int svrcod = CodePoint.SVRCOD_INFO; boolean rdbnamReceived = false; String rdbnam = null; parseLengthAndMatchCodePoint(CodePoint.RDBAFLRM); pushLengthOnCollectionStack(); int peekCP = peekCodePoint(); while (peekCP != Reply.END_OF_COLLECTION) { boolean foundInPass = false; if (peekCP == CodePoint.SVRCOD) { foundInPass = true; svrcodReceived = checkAndGetReceivedFlag(svrcodReceived); svrcod = parseSVRCOD(CodePoint.SVRCOD_ERROR, CodePoint.SVRCOD_ERROR); peekCP = peekCodePoint(); } if (peekCP == CodePoint.RDBNAM) { foundInPass = true; rdbnamReceived = checkAndGetReceivedFlag(rdbnamReceived); rdbnam = parseRDBNAM(true); peekCP = peekCodePoint(); } if (!foundInPass) { doPrmnsprmSemantics(peekCP); } } popCollectionStack(); checkRequiredObjects(svrcodReceived, rdbnamReceived); netAgent_.setSvrcod(svrcod); } // Parameter Value Not Supported Reply Message indicates // that the parameter value specified is either not recognized // or not supported for the specified parameter. // The VALNSPRM can only be specified in accordance with // the rules specified for DDM subsetting. // The code point of the command parameter in error is // returned as a parameter in this message. // PROTOCOL Architects an SQLSTATE of 58017. // // if codepoint is 0x119C,0x119D, or 0x119E then SQLSTATE 58017, SQLCODE -332 // else SQLSTATE 58017, SQLCODE -30073 // // Messages // SQLSTATE : 58017 // The DDM parameter value is not supported. // SQLCODE : -332 // There is no available conversion for the source code page // <code page> to the target code page <code page>. // Reason code <reason-code>. // The reason codes are as follows: // 1 source and target code page combination is not supported // by the database manager. // 2 source and target code page combination is either not // supported by the database manager or by the operating // system character conversion utility on the client node. // 3 source and target code page combination is either not // supported by the database manager or by the operating // system character conversion utility on the server node. // // SQLSTATE : 58017 // The DDM parameter value is not supported. // SQLCODE : -30073 // <parameter-identifier> Parameter value <value> is not supported. // Some possible parameter identifiers include: // 002F The target server does not support the data type // requested by the application requester. // The target server does not support the CCSID // requested by the application requester. Ensure the CCSID // used by the requester is supported by the server. // 119C - Verify the single-byte CCSID. // 119D - Verify the double-byte CCSID. // 119E - Verify the mixed-byte CCSID. // // The current environment command or SQL statement // cannot be processed successfully, nor can any subsequent // commands or SQL statements. The current transaction is // rolled back and the application is disconnected // from the remote database. The command cannot be processed. // // Returned from Server: // SVRCOD - required (8 - ERROR) // CODPNT - required // RECCNT - optional (MINLVL 3, MINVAL 0) (will not be returned - should be ignored) // RDBNAM - optional (MINLVL 3) // protected void parseVALNSPRM() throws DisconnectException { boolean svrcodReceived = false; int svrcod = CodePoint.SVRCOD_INFO; boolean rdbnamReceived = false; String rdbnam = null; boolean codpntReceived = false; int codpnt = 0; parseLengthAndMatchCodePoint(CodePoint.VALNSPRM); pushLengthOnCollectionStack(); int peekCP = peekCodePoint(); while (peekCP != Reply.END_OF_COLLECTION) { boolean foundInPass = false; if (peekCP == CodePoint.SVRCOD) { foundInPass = true; svrcodReceived = checkAndGetReceivedFlag(svrcodReceived); svrcod = parseSVRCOD(CodePoint.SVRCOD_ERROR, CodePoint.SVRCOD_ERROR); peekCP = peekCodePoint(); } if (peekCP == CodePoint.RDBNAM) { foundInPass = true; rdbnamReceived = checkAndGetReceivedFlag(rdbnamReceived); rdbnam = parseRDBNAM(true); peekCP = peekCodePoint(); } if (peekCP == CodePoint.CODPNT) { foundInPass = true; codpntReceived = checkAndGetReceivedFlag(codpntReceived); codpnt = parseCODPNT(); peekCP = peekCodePoint(); } // RECCNT will be skipped if (!foundInPass) { doPrmnsprmSemantics(peekCP); } } popCollectionStack(); checkRequiredObjects(svrcodReceived, codpntReceived);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -