📄 protocol.tests
字号:
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 29 MGRLVLLS
endTest
//
DISPLAY "Test too small value for CCSIDSBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDSBC
writeByte 1
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 11 CCSIDSBC
endTest
//
DISPLAY "Test too large value for CCSIDSBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDSBC
writeInt 1
writeInt 2
writeInt 3
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 CCSIDSBC
endTest
//
DISPLAY "Test too small value for CCSIDMBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDMBC
writeByte 1
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 11 CCSIDMBC
endTest
//
DISPLAY "Test too large value for CCSIDMBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDMBC
writeInt 1
writeInt 2
writeInt 3
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 CCSIDMBC
endTest
//
DISPLAY "Test too small value for CCSIDDBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDDBC
writeByte 1
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 11 CCSIDDBC
endTest
//
DISPLAY "Test too large value for CCSIDDBC"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
startDdm CCSIDDBC
writeInt 1
writeInt 2
writeInt 3
endDdm
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 CCSIDDBC
endTest
//
DISPLAY "Test unsupported single byte code page"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 5
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError VALNSPRM 8
endTest
//
DISPLAY "Test unsupported mixed byte code page"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDMBC 5
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
readReplyDss
readLengthAndCodePoint ACCRDBRM
readScalar2Bytes SVRCOD 4 //check that we get a warning for unsupported CCSID
skipDdm // don't care about the rest of the Ddm
endTest
//
DISPLAY "Test unsupported double byte code page"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDDBC 5
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
readReplyDss
readLengthAndCodePoint ACCRDBRM
readScalar2Bytes SVRCOD 4 //check that we get a warning for unsupported CCSID
skipDdm // don't care about the rest of the Ddm
endTest
//
DISPLAY "Test sending second EXCSAT"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
skipDss // don't care about ACCRDBRM
createDssRequest
startDdm EXCSAT
startDdm MGRLVLLS
writeCodePoint4Bytes SQLAM 7
endDdm
endDdm
endDss
flush
readReplyDss
readLengthAndCodePoint EXCSATRD // check we get an EXSATRD back
readLengthAndCodePoint EXTNAM
skipBytes
readLengthAndCodePoint MGRLVLLS
readNetworkShort SQLAM
readNetworkShort 7 // check we report SQLAM 7 and nothing more
readLengthAndCodePoint SRVCLSNM
skipBytes
readLengthAndCodePoint SRVNAM
skipBytes
readLengthAndCodePoint SRVRLSLV
skipBytes
endTest
//
DISPLAY "Test sending second EXCSAT with same manager but different level"
createDssRequest
startDdm EXCSAT
writeScalarString EXTNAM "test"
startDdm MGRLVLLS
writeCodePoint4Bytes SQLAM 6
endDdm
endDdm
endDss
createDssRequest
startDdm ACCSEC
writeScalar2Bytes SECMEC 3 // userid password
writeScalarString RDBNAM "wombat;create=true "
endDdm
endDss
flush
skipDss // don't care about the EXCSATRM so just skip
skipDss // don't care about the ACCSECRD so just skip
createDssRequest
startDdm SECCHK
writeScalar2Bytes SECMEC 3 // userid password
writeScalarString RDBNAM "wombat;create=true "
writeScalarString USRID test
writeScalarString PASSWORD test
endDdm
endDss
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
skipDss // don't care about ACCRDBRM
createDssRequest
startDdm EXCSAT
startDdm MGRLVLLS
writeCodePoint4Bytes SQLAM 7
endDdm
endDdm
flush
checkError MGRLVLRM 8 SQLAM 7
endTest
//
DISPLAY "Test invalid CRRTKN"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM QTDSQLJVM
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 20 CRRTKN
endTest
//
DISPLAY "Test too big PRDID"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000toobig"
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 PRDID
endTest
//
DISPLAY "Test too big TYPDEFNAM"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000toobig"
writeScalarString TYPDEFNAM "testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 PRDID
endTest
//
DISPLAY "Test invalid TYPDEFNAM"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000toobig"
writeScalarString TYPDEFNAM "THISISNOTRIGHT"
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 PRDID
endTest
//
DISPLAY "Test too big RDBALWUPD"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM "QTDSQLASC"
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
writeScalar2Bytes RDBALWUPD 28
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 RDBALWUPD
endTest
//
DISPLAY "Test invalid RDBALWUPD"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM "QTDSQLASC"
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
writeScalar1Byte RDBALWUPD 1
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 20 RDBALWUPD
endTest
//
DISPLAY "Test valid RDBALWUPD"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM "QTDSQLASC"
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
writeScalar1Byte RDBALWUPD -16
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
readReplyDss
readLengthAndCodePoint ACCRDBRM
endTest
//
DISPLAY "Test second valid RDBALWUPD"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM "QTDSQLASC"
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
writeScalar1Byte RDBALWUPD -15
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
readReplyDss
readLengthAndCodePoint ACCRDBRM
endTest
//
DISPLAY "Test too big PRTDTA"
include "excsat_secchk.inc"
createDssRequest
startDdm ACCRDB
writeScalar2Bytes RDBACCCL SQLAM
writeScalarBytes CRRTKN "0xd5c6f0f0f0f0f0f14bc7c3c2f600ec774aa60e"
writeScalarString PRDID "TST01000"
writeScalarString TYPDEFNAM "QTDSQLASC"
startDdm TYPDEFOVR
writeScalar2Bytes CCSIDSBC 1208
endDdm
writeScalarString PRDDTA "testttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
endDdm
endDss
flush
skipDdm // don't care about SECCHKRM so just skip
checkError SYNTAXRM 8 9 PRDDTA
endTest
//
DISPLAY "Test for bad length for RDBNAM in PKGNAMCSN"
include connect.inc
createDssRequest
startDdm EXCSQLIMM
startDdm PKGNAMCSN
writeShort 4
writeString "test"
writeShort 18
writeString "rdbcolid" 18
writeShort 18
writePaddedString "pkgid" 18
writeBytes "0x0101010101010101"
writeShort 1
endDdm
endDdm
endDss
createDssObject
startDdm SQLSTT
writeByte 0 // null indicator
writeEncodedLDString "create table abc (a int)" "UTF-8" 4
writeByte 255 // null indicator
endDdm
endDss "0x40"
createDssRequest // send commit
startDdm RDBCMM
endDdm
endDss
flush
checkError SYNTAXRM 8 11 RDBNAM
endTest
//
DISPLAY "Test for bad length for PKGID in PKGNAMCSN"
include connect.inc
createDssRequest
startDdm EXCSQLIMM
startDdm PKGNAMCSN
writeShort 18
writePaddedString "test" 18
writeShort 8
writePaddedString "rdbcolid" 8
writeShort 5
writePaddedString "pkgid" 5
writeBytes "0x0101010101010101"
writeShort 1
endDdm
endDdm
endDss
createDssObject
startDdm SQLSTT
writeByte 0 // null indicator
writeEncodedLDString "create table abc (a int)" "UTF-8" 4
writeByte 255 // null indicator
endDdm
endDss "0x40"
createDssRequest // send commit
startDdm RDBCMM
endDdm
endDss
flush
checkError SYNTAXRM 8 11 PKGID
endTest
//
DISPLAY "Test for invalid codepoint on EXCSQLIMM"
include connect.inc
createDssRequest
startDdm EXCSQLIMM
startDdm MGRLVLLS
endDdm
endDdm
endDss
createDssObject
startDdm SQLSTT
writeByte 0 // null indicator
writeEncodedLDString "create table abc (a int)" "UTF-8" 4
writeByte 255 // null indicator
endDdm
endDss "0x40"
createDssRequest // send commit
startDdm RDBCMM
endDdm
endDss
flush
checkError SYNTAXRM 8 29 MGRLVLLS
endTest
//
DISPLAY "Test for invalid TypDefNam in EXCSQLIMM objects"
include connect.inc
createDssRequest
startDdm EXCSQLIMM
startDdm PKGNAMCSN
writePaddedString "test" 18
writePaddedString "rdbcolid" 18
writePaddedString "pkgid" 18
writeBytes "0x0101010101010101"
writeShort 1
endDdm
endDdm
endDss
createDssObject
writeScalarString TYPDEFNAM "unknown"
startDdm SQLSTT
writeByte 0 // null indicator
writeEncodedLDString "create table abc (a int)" "UTF-8" 4
writeByte 255 // null indicator
endDdm
endDss "0x40"
createDssRequest // send commit
startDdm RDBCMM
endDdm
endDss
flush
checkError SYNTAXRM 8 20 TYPDEFNAM
endTest
//
DISPLAY "Test for a changed TYPDEF in EXCSQLIMM objects"
include connect.inc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -