观察的结果是基于wireshark。wireshark是否正确直接决定了下面的结果是否正确。
DB2的版本是V9,使用JAVA的JDBC连接。驱动是db2jcc.jar。其他连接方式没有尝试过。
DRDA是使用TCP作为传输层协议。
一个数据包有n个DRDA。
DRDA = DDM + n* PARAMETER。(n>=0)。
DDM
作用:描述这个DRDA
组成:(以字节为单位)
2--length(这个DRDA的长度)
1--Magic
1--Fomat
2--correlID(连接的ID)
2--length2(?)
2--code point(描述这个DRDA的用途)
PARAMETER
作用:存放数据
组成:(以字节为单位)
2--length(这个PARAMETER的长度)
2--code point(描述这个数据的用途)
length-4 -- data (EBCDIC字符)
一:建立连接:
第一次交互:客户端和数据库服务器交换彼此硬件和软件的信息。
客户端:
DDM Code point :EXCSAT(0x1041)
PARAMETER Code point :EXTNAM(0x115e) external name 客户端
PARAMETER Code point :SRVNAM(0x116d) server name 客户端
PARAMETER Code point :SRVRLSLV(0x115a) server product release level 客户端版本
数据库:
DDM Code point :EXCSATRD(0x1443)
第二次交互:
1.客户端把数据库名,用户名,密码和使用软件的信息发送到服务器。接受认证。
DDM Code point :SECCHK(0x106e)请求验证
PARAMETER Code point :R

本文深入探讨了DB2 V9版本中,使用JAVA JDBC通过DRDA( Distributed Relational Database Architecture )协议与数据库服务器进行交互的过程。通过Wireshark捕获的数据包分析,详细阐述了建立连接、执行SQL语句(如SELECT, INSERT, UPDATE, DELETE)以及断开连接的各个阶段,包括关键的DDM和PARAMETER结构及其Code Point。"
120214642,9235560,C# WinForm自定义控件教程:GraphicsPath详解,"['C#开发', '图形编程', 'WinForm控件', 'GDI+', '自定义控件']

1681

被折叠的 条评论
为什么被折叠?



