ibmdb/node-ibm_db

Incorrect results with XML containing Chinese data on Linux. Same code works on Windows.

markddrake opened this issue · 12 comments

Please provide below information while opening an issue to understand your problem

  • Operating System Name where ibm_db is installed:

  • Env 1: Windows 11

  • Env 2: Ubuntu

  • Target Db2 Server Version or output of db2level command from Db2 database system:
    IBM DB2 Official Docker container

C:\Development\YADAMU\src\scratch\db2>docker exec -it -u db2inst1 IBMDB2-01  bash
[db2inst1@1b0693d46d58 /]$ db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL11058" with level
identifier "0609010F".
Informational tokens are "DB2 v11.5.8.0", "s2209201700", "DYN2209201700AMD64",
and Fix Pack "0".
Product is installed at "/opt/ibm/db2/V11.5".

[db2inst1@1b0693d46d58 /]$

DB2 CFG

db2 =>  get db cfg

       Database Configuration for Database

 Database configuration release level                    = 0x1500
 Database release level                                  = 0x1500

 Database territory                                      = us
 Database code page                                      = 1208
 Database code set                                       = utf-8
 Database country/region code                            = 1
 Database collating sequence                             = IDENTITY
 Alternate collating sequence              (ALT_COLLATE) =
 Number compatibility                                    = OFF
 Varchar2 compatibility                                  = OFF
 Date compatibility                                      = OFF
 Database page size                                      = 4096

 Statement concentrator                      (STMT_CONC) = OFF

 Discovery support for this database       (DISCOVER_DB) = ENABLE

 Restrict access                                         = NO
 Default query optimization class         (DFT_QUERYOPT) = 5
 Degree of parallelism                      (DFT_DEGREE) = ANY
 Continue upon arithmetic exceptions   (DFT_SQLMATHWARN) = NO
 Default refresh age                   (DFT_REFRESH_AGE) = 0
 Default maintained table types for opt (DFT_MTTB_TYPES) = SYSTEM
 Number of frequent values retained     (NUM_FREQVALUES) = 10
 Number of quantiles retained            (NUM_QUANTILES) = 20

 Decimal floating point rounding mode  (DECFLT_ROUNDING) = ROUND_HALF_EVEN

 DECIMAL arithmetic mode                (DEC_ARITHMETIC) =

 Backup pending                                          = NO

 All committed transactions have been written to disk    = NO
 Rollforward pending                                     = NO
 Restore pending                                         = NO

 Upgrade pending                                         = NO

 Multi-page file allocation enabled                      = YES

 Log retain for recovery status                          = NO
 User exit for logging status                            = YES

 Self tuning memory                    (SELF_TUNING_MEM) = ON
 Size of database shared memory (4KB)  (DATABASE_MEMORY) = AUTOMATIC(164848)
 Database memory threshold               (DB_MEM_THRESH) = 100
 Max storage for lock list (4KB)              (LOCKLIST) = AUTOMATIC(4096)
 Percent. of lock lists per application       (MAXLOCKS) = AUTOMATIC(60)
 Package cache size (4KB)                   (PCKCACHESZ) = AUTOMATIC(320)
 Sort heap thres for shared sorts (4KB) (SHEAPTHRES_SHR) = AUTOMATIC(5000)
 Sort list heap (4KB)                         (SORTHEAP) = AUTOMATIC(1000)

 Database heap (4KB)                            (DBHEAP) = AUTOMATIC(5137)
 Catalog cache size (4KB)              (CATALOGCACHE_SZ) = 300
 Log buffer size (4KB)                        (LOGBUFSZ) = 2152
 Utilities heap size (4KB)                (UTIL_HEAP_SZ) = AUTOMATIC(74870)
 SQL statement heap (4KB)                     (STMTHEAP) = AUTOMATIC(8192)
 Default application heap (4KB)             (APPLHEAPSZ) = AUTOMATIC(1024)
 Application Memory Size (4KB)             (APPL_MEMORY) = AUTOMATIC(40000)
 Statistics heap size (4KB)               (STAT_HEAP_SZ) = AUTOMATIC(4384)

 Interval for checking deadlock (ms)         (DLCHKTIME) = 10000
 Lock timeout (sec)                        (LOCKTIMEOUT) = -1

 Changed pages threshold                (CHNGPGS_THRESH) = 80
 Number of asynchronous page cleaners   (NUM_IOCLEANERS) = AUTOMATIC(4)
 Number of I/O servers                   (NUM_IOSERVERS) = AUTOMATIC(8)
 Sequential detect flag                      (SEQDETECT) = YES
 Default prefetch size (pages)         (DFT_PREFETCH_SZ) = AUTOMATIC

 Track modified pages                         (TRACKMOD) = NO

 Default number of containers                            = 1
 Default tablespace extentsize (pages)   (DFT_EXTENT_SZ) = 32

 Max number of active applications            (MAXAPPLS) = AUTOMATIC(40)
 Average number of active applications       (AVG_APPLS) = AUTOMATIC(1)
 Lifetime of cached credentials   (AUTHN_CACHE_DURATION) = 3
 Max number of users in the cache    (AUTHN_CACHE_USERS) = 0
 Max DB files open per database               (MAXFILOP) = 61440

 Active log space disk capacity (MB)      (LOG_DISK_CAP) = 0
 Log file size (4KB)                         (LOGFILSIZ) = 10240
 Number of primary log files                (LOGPRIMARY) = 16
 Number of secondary log files               (LOGSECOND) = 22
 Changed path to log files                  (NEWLOGPATH) =
 Path to log files                                       = /database/data/db2inst1/NODE0000/SQL00002/LOGSTREAM0000/
 Overflow log path                     (OVERFLOWLOGPATH) =
 Mirror log path                         (MIRRORLOGPATH) =
 First active log file                                   = S0004019.LOG
 Block log on disk full                (BLK_LOG_DSK_FUL) = NO
 Block non logged operations            (BLOCKNONLOGGED) = NO
 Percent max primary log space by transaction  (MAX_LOG) = 0
 Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0

 Percent log file reclaimed before soft chckpt (SOFTMAX) = 0
 Target for oldest page in LBP       (PAGE_AGE_TRGT_MCR) = 240

 HADR database role                                      = STANDARD
 HADR local host name                  (HADR_LOCAL_HOST) =
 HADR local service name                (HADR_LOCAL_SVC) =
 HADR remote host name                (HADR_REMOTE_HOST) =
 HADR remote service name              (HADR_REMOTE_SVC) =
 HADR instance name of remote server  (HADR_REMOTE_INST) =
 HADR timeout value                       (HADR_TIMEOUT) = 120
 HADR target list                     (HADR_TARGET_LIST) =
 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
 HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(0)
 HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
 HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0

 First log archive method                 (LOGARCHMETH1) = DISK:/database/logs/
 Archive compression for logarchmeth1    (LOGARCHCOMPR1) = OFF
 Options for logarchmeth1                  (LOGARCHOPT1) =
 Second log archive method                (LOGARCHMETH2) = OFF
 Archive compression for logarchmeth2    (LOGARCHCOMPR2) = OFF
 Options for logarchmeth2                  (LOGARCHOPT2) =
 Failover log archive path                (FAILARCHPATH) =
 Number of log archive retries on error   (NUMARCHRETRY) = 5
 Log archive retry Delay (secs)         (ARCHRETRYDELAY) = 20
 Vendor options                              (VENDOROPT) =

 Auto restart enabled                      (AUTORESTART) = ON
 Index re-creation time and redo index build  (INDEXREC) =
 Log pages during index build            (LOGINDEXBUILD) = OFF
 Default number of loadrec sessions    (DFT_LOADREC_SES) = 1
 Number of database backups to retain   (NUM_DB_BACKUPS) = 12
 Recovery history retention (days)     (REC_HIS_RETENTN) = 90
 Auto deletion of recovery objects    (AUTO_DEL_REC_OBJ) = OFF

 TSM management class                    (TSM_MGMTCLASS) =
 TSM node name                            (TSM_NODENAME) =
 TSM owner                                   (TSM_OWNER) =
 TSM password                             (TSM_PASSWORD) =

 Automatic maintenance                      (AUTO_MAINT) = ON
   Automatic database backup            (AUTO_DB_BACKUP) = OFF
   Automatic table maintenance          (AUTO_TBL_MAINT) = ON
     Automatic runstats                  (AUTO_RUNSTATS) = ON
       Real-time statistics            (AUTO_STMT_STATS) = ON
       Statistical views              (AUTO_STATS_VIEWS) = OFF
       Automatic sampling                (AUTO_SAMPLING) = ON
       Automatic column group statistics (AUTO_CG_STATS) = OFF
     Automatic reorganization               (AUTO_REORG) = OFF

 Auto-Revalidation                          (AUTO_REVAL) = DEFERRED

 Currently Committed                        (CUR_COMMIT) = ON
 CHAR output with DECIMAL input        (DEC_TO_CHAR_FMT) = NEW
 Enable XML Character operations        (ENABLE_XMLCHAR) = YES
 Enforce Constraint                  (DDL_CONSTRAINT_DEF) = YES
 Enable row compression by default  (DDL_COMPRESSION_DEF) = NO
 Replication site ID                      (REPL_SITE_ID) = 0
 Monitor Collect Settings
 Request metrics                       (MON_REQ_METRICS) = BASE
 Activity metrics                      (MON_ACT_METRICS) = BASE
 Object metrics                        (MON_OBJ_METRICS) = EXTENDED
 Routine data                             (MON_RTN_DATA) = NONE
   Routine executable list            (MON_RTN_EXECLIST) = OFF
 Unit of work events                      (MON_UOW_DATA) = NONE
   UOW events with package list        (MON_UOW_PKGLIST) = OFF
   UOW events with executable list    (MON_UOW_EXECLIST) = OFF
 Lock timeout events                   (MON_LOCKTIMEOUT) = NONE
 Deadlock events                          (MON_DEADLOCK) = WITHOUT_HIST
 Lock wait events                         (MON_LOCKWAIT) = NONE
 Lock wait event threshold               (MON_LW_THRESH) = 5000000
 Number of package list entries         (MON_PKGLIST_SZ) = 32
 Lock event notification level         (MON_LCK_MSG_LVL) = 1

 SMTP Server                               (SMTP_SERVER) =
 SQL conditional compilation flags         (SQL_CCFLAGS) =
 Section actuals setting               (SECTION_ACTUALS) = NONE
 Connect procedure                        (CONNECT_PROC) =
 Adjust temporal SYSTEM_TIME period (SYSTIME_PERIOD_ADJ) = NO
 Log DDL Statements                      (LOG_DDL_STMTS) = NO
 Log Application Information             (LOG_APPL_INFO) = NO
 Default data capture on new Schemas   (DFT_SCHEMAS_DCC) = NO
 Strict I/O for EXTBL_LOCATION         (EXTBL_STRICT_IO) = NO
 Allowed paths for external tables      (EXTBL_LOCATION) = /database/config/db2inst1
 Default table organization              (DFT_TABLE_ORG) = ROW
 Default string units                     (STRING_UNITS) = SYSTEM
 National character string mapping       (NCHAR_MAPPING) = CHAR_CU32
 Database is in write suspend state                      = NO
 Extended row size support             (EXTENDED_ROW_SZ) = ENABLE
 Encryption Library for Backup                 (ENCRLIB) =
 Encryption Options for Backup                (ENCROPTS) =

 WLM Collection Interval (minutes)     (WLM_COLLECT_INT) = 0
 Target agent load per CPU core    (WLM_AGENT_LOAD_TRGT) = AUTOMATIC(14)
 WLM admission control enabled      (WLM_ADMISSION_CTRL) = NO
 Allocated share of CPU resources       (WLM_CPU_SHARES) = 1000
 CPU share behavior (hard/soft)     (WLM_CPU_SHARE_MODE) = HARD
 Maximum allowable CPU utilization (%)   (WLM_CPU_LIMIT) = 0
 Encrypted database                                      = NO
 Procedural language stack trace        (PL_STACK_TRACE) = NONE
 HADR SSL certificate label             (HADR_SSL_LABEL) =

For non-Windows system

C:\YADAMU-QA\YDB1>docker exec -it YADAMU-01 bash
root@08c09ec59e37:/usr/src/YADAMU# uname
Linux
root@08c09ec59e37:/usr/src/YADAMU# uname -m
x86_64
root@08c09ec59e37:/usr/src/YADAMU# node -v
v20.8.0
root@08c09ec59e37:/usr/src/YADAMU# npm ls ibm_db
yadamu@1.0.0 /usr/src/YADAMU
`-- ibm_db@3.2.2

For Windows system, output of below commands from windows command prompt:

c:\Development\YADAMU\src\scratch\db2>node -v
v20.7.0

c:\Development\YADAMU\src\scratch\db2>npm ls ibm_db
yadamu@1.0.0 c:\Development\YADAMU\src
`-- ibm_db@3.2.2


c:\Development\YADAMU\src\scratch\db2>

TestCase as follows

import ibmdb  from 'ibm_db'
	
async function main() {	
    const cn = "DATABASE=SAMPLE;HOSTNAME=yadamu-db2;PORT=50000;PROTOCOL=TCPIP;UID=DB2INST1;PWD=oracle;"
    
    const conn = await ibmdb.open(cn)
	let results 
	
	
	const SQL_XML_PARSING = "SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE'";
    results = await conn.query(SQL_XML_PARSING)
	
	results = await conn.query(`BEGIN DECLARE V_STATEMENT VARCHAR(300) DEFAULT 'drop table XML_TAB'; DECLARE CONTINUE HANDLER FOR SQLSTATE '42704' BEGIN  END;  EXECUTE IMMEDIATE V_STATEMENT; END;`)
	console.log(results)

    results = await conn.querySync(`create table XML_TAB(X XML )`);
	console.log(results)
		
	const data = [doc1,doc2,doc3,doc4]
	
	let idx=0
	
	try {
      const query = {
        sql: 		  `insert into XML_TAB (X) values (?)`
	  ,	params: [{
 		   ParamType: 'ARRAY',
           DataType: 'CLOB',
           Data: data,
		   Length : 8192
		}]
	  , ArraySize: data.length
	  }
	  
      results = await conn.query(query);
  	  console.log(results)
	} catch (e) {
	  console.log(1,e)
	}
	
	console.log(data.length)
	
	results = await conn.query(`select X, XMLSERIALIZE("X"  AS CLOB(2048) EXCLUDING XMLDECLARATION) "XX", XMLSERIALIZE("X"  AS BLOB(2048) EXCLUDING XMLDECLARATION) "YY" from XML_TAB`)
    
	results.forEach((row,idx)  => {
      const str = row.YY.toString("utf-8")
	  console.log(idx,data[idx].length,row.X.length,row.XX.length,str.length)
	  console.log(idx,data[idx] === row.X, data[idx] === row.XX, row.X === row.XX )
	  console.log(idx,data[idx].substring(0,20),row.X.substring(0,20),row.XX.substring(0,20),str.substring(0,20))
	  if ((data[idx].length === row.XX.length) && (data[idx] !== row.XX)) {
		for (i=0;i++;i<data[idx].length) {
		  if (data[idx][i] !== row.XX[i]) {
			console.log('Mismatch',i,data[idx][i],row.XX[i])
		  }
		}
	  }	  
	})

}

main().then(() => { console.log('success')}).catch((e) => { console.log(e) })

  const doc1 = `<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高公司收入成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面具有一定经验。\n具有五年的销售管理经验,包括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。\n极佳的沟通和表达能力\n    </Skills>`

  const doc2 = `<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高公司收入成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面具有一定经验。\n具有五年的销售管理经验,包括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。\n极佳的沟通和表达能力\n    </Skills>`;

  const doc3 = `<Skills>我是一名经验丰富的机械师,技术全面,不仅单独操作各种机械设备,还管理其他机械师的工作。我专攻诊断和精度检测,可以读懂设计图,能够妥善处理各方面的人际关系并具备良好的沟通能力来指导我管辖的机械师的工作. 与其他候选者相比,我拥有的机械工程学位使我对机械师行业在理论方面具有更深刻的了解,数学背景知识也更深厚.\n    </Skills>`;

  const doc4 = `<Skills>None worth mentioning\n    </Skills>`;

Running on Windows generates

c:\Development\YADAMU\src\scratch\db2>node testXML2.js
[]
[]
[]
4
0 197 243 197 537
0 false true false
0 <Skills>熟悉所有销售环节,专业知 <?xml version="1.0"  <Skills>熟悉所有销售环节,专业知 <Skills>熟悉所有
1 197 243 197 537
1 false true false
1 <Skills>熟悉所有销售环节,专业知 <?xml version="1.0"  <Skills>熟悉所有销售环节,专业知 <Skills>熟悉所有
2 175 221 175 475
2 false true false
2 <Skills>我是一名经验丰富的机械师 <?xml version="1.0"  <Skills>我是一名经验丰富的机械师 <Skills>我是一å
3 43 89 43 43
3 false true false
3 <Skills>None worth m <?xml version="1.0"  <Skills>None worth m <Skills>None worth m
success

Running same code on Linux results in

root@08c09ec59e37:/usr/src/YADAMU# node mnt/work/testXML2.js
[]
[]
[]
4
0 197 250 206 537
0 false false false
0 <Skills>熟悉所有销售环节,专业知 <?xml version="1.0"  <Skills>熟悉所有销售环节,专业知 <Skills>çæææ
1 197 250 206 537
1 false false false
1 <Skills>熟悉所有销售环节,专业知 <?xml version="1.0"  <Skills>熟悉所有销售环节,专业知 <Skills>çæææ
2 175 234 190 475
2 false false false
2 <Skills>我是一名经验丰富的机械师 <?xml version="1.0"  <Skills>我是一名经验丰富的机械师 <Skills>ææ¯ä¸å
3 43 87 43 43
3 false true false
3 <Skills>None worth m <?xml version="1.0"  <Skills>None worth m <Skills>None worth m
success
root@08c09ec59e37:/usr/src/YADAMU#

I think there are two issues here.

  1. The contents of the CLOB returned by the XMLSerialize operation (Column XX) is corrupted in the Linux environment. The Length is not the same as the original data. In the Windows environment the lengths are the same.
  2. In both environments the Buffer containing BLOB returned by the XMLSerialize operation (Column YY) cannot be successfully converted back to a UTF-8 String

@markddrake On Linux system, cd to ibm_db\test directory and then run .\trace mnt\work\testXML2.js. It will generate cli trace file 1.cli. Please open this file and check the data. Do it have correct data returned from db2 server? I'll try to reproduce the issue locally to find root cause. Thanks.

Here's the file.. Not sure how to interpret it..

<db2trc_header>
Marker                  :  @TRACE@
Trace version           :      7.0
Platform                : Linux/X8664
Build level             : special_26260
maxBufferSize           : 33554432 bytes (32 MB)
auxBufferSize           : 0 bytes (0 MB)
allocationCount         : 0
DB2TRCD pid             : 0
Trace destination       : 1.trc
numSuspended            : 0
Trace starting time     : 2023-10-26-13.46.42.481429+000
Trace status            : UNKNOWN
Trace status change time: N/A
Buffer size             : 33554432 bytes (32 MB)
Allow buffer to wrap    : yes
Mask                    : *.*.*.*.*
Timestamps              : disabled
PID.TID mask            : all
Fixed data mask #1      : all
Fixed data mask #2      : all
Max system errors       : infinite
Treat this rc as sys err: none
sqlcodes for stoptrc    :  none
Search Pattern          : none
clitracelevel           : none
Member mask             : none
Application handle mask : none
Application ID mask     : none

</db2trc_header>


[ Process: 470, Thread: 140379070401600 ]
[ Date & Time:               10/26/2023 13:46:49.604317 ]
[ Product:                   QDB2/LINUXX8664 DB2 v11.5.8.0 ]
[ Level Identifier:          0609010F ]
[ CLI Driver Version:        10.01.0000 ]
[ Informational Tokens:      "DB2 v11.5.8.0","special_26260","DYN2301190517AMD64_26260","Fixpack 0" ]
[ Install Path:              /usr/src/YADAMU/node_modules/ibm_db/test/../installer/clidriver ]
[ db2cli.ini Location:       db2cli.ini file not found. ( rc = 100 ) ]
[ CLI Driver Type:           IBM Data Server Driver For ODBC and CLI ]
[ Hostname:             08c09ec59e37 ]



1301	SQLAllocHandle( fHandleType=SQL_HANDLE_ENV, hInput=0:0, phOutput=&0000000005807bc8 )
    ---> Time elapsed - 0 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_ENV, hInput=0:0, phOutput=0:1 )
1785    <--- SQL_SUCCESS   Time elapsed - +0.000000E+000 seconds

1786	SQLSetEnvAttr( hEnv=0:1, fAttribute=SQL_ATTR_ODBC_VERSION, vParam=3, cbParam=-5 )
    ---> Time elapsed - -1.032764E+000 seconds

SQLSetEnvAttr( )
1839    <--- SQL_SUCCESS   Time elapsed - -1.032764E+000 seconds

4775	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=1, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -8.081421E+008 seconds
( iRowNumber=-2, iColumnNumber=-2 )

SQLGetDiagRec( pszSqlState="24000", pfNativeError=-99999, pszErrorMsg="[IBM][CLI Driver] CLI0115E  Invalid cursor state. SQLSTATE=24000", pcbErrorMsg=64 )
4876    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

4877	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=2, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -1.941103E+009 seconds

SQLGetDiagRec( )
4893    <--- SQL_NO_DATA_FOUND   Time elapsed - -1.941103E+009 seconds

4894	SQLNumResultCols( hStmt=1:1, pcCol=&0000000005783120 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLNumResultCols( pcCol=0 )
4911    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

4912	SQLMoreResults( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLMoreResults( )
4930    <--- SQL_NO_DATA_FOUND   Time elapsed - -8.081421E+008 seconds

4931	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
4958    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

5533	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=1, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -1.941103E+009 seconds
( iRowNumber=-2, iColumnNumber=-2 )

SQLGetDiagRec( pszSqlState="24000", pfNativeError=-99999, pszErrorMsg="[IBM][CLI Driver] CLI0115E  Invalid cursor state. SQLSTATE=24000", pcbErrorMsg=64 )
5618    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

5619	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=2, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -1.941103E+009 seconds

SQLGetDiagRec( )
5635    <--- SQL_NO_DATA_FOUND   Time elapsed - -1.941103E+009 seconds

5636	SQLNumResultCols( hStmt=1:1, pcCol=&0000000005847d00 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLNumResultCols( pcCol=0 )
5653    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

5654	SQLMoreResults( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLMoreResults( )
5681    <--- SQL_NO_DATA_FOUND   Time elapsed - -8.081421E+008 seconds

5682	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
5712    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

5720	SQLAllo
4424	SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&00000000058454e0 )
    ---> Time elapsed - 0 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
4435    <--- SQL_SUCCESS   Time elapsed - +0.000000E+000 seconds

4436	SQLExecDirect( hStmt=1:1 )
    ---> Time elapsed - -1.014384E+000 seconds
( pszSqlStr="SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE'", cbSqlStr=60 )
( StmtOut="SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE'" )
( Package="SYSSH200          ", Section=65 )
( COMMIT REPLY RECEIVED=1 )

SQLExecDirect( )
4747    <--- SQL_SUCCESS   Time elapsed - -1.014384E+000 seconds

5995	SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&0000000005827550 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
6006    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

6007	SQLPrepare( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( pszSqlStr="insert into XML_TAB (X) values (?)", cbSqlStr=34 )
( StmtOut="insert into XML_TAB (X) values (?)" )

SQLPrepare( )
6042    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6043	SQLSetStmtAttr( hStmt=1:1, fOption=SQL_ATTR_PARAM_BIND_TYPE, pvParam=<NULL pointer>, uiStrLen=0 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLSetStmtAttr( )
6059    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

6060	SQLSetStmtAttr( hStmt=1:1, fOption=SQL_ATTR_PARAMSET_SIZE, pvParam=&0000000000000004, uiStrLen=0 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLSetStmtAttr( )
6078    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6079	SQLBindParameter( hStmt=1:1, iPar=1, fParamType=SQL_PARAM_INPUT, fCType=SQL_C_CHAR, fSQLType=SQL_CLOB, cbColDef=8192, ibScale=0, rgbValue=&0000000005890ef0, cbValueMax=8192, pcbValue=&00000000058023f0 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLBindParameter( )
6105    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6106	SQLExecute( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Package="SYSSH200          ", Section=4 )
( Row=1, iPar=1, fCType=SQL_C_CHAR, rgbValue="<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高公司收入成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面具有一定经验。
具有五年的销售管理经验,包括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E585ACE58FB8E694B6E585A5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E585B7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE585B7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C85E68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=537 )
( Row=2, iPar=1, fCType=SQL_C_CHAR, rgbValue="<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高公司收入成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面具有一定经验。
具有五年的销售磈andle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&00007ffc2dee6978 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
5731    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

5732	SQLExecDirect( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( pszSqlStr="create table XML_TAB(X XML )", cbSqlStr=28 )
( StmtOut="create table XML_TAB(X XML )" )
( Package="SYSSH200          ", Section=65 )
( COMMIT REPLY RECEIVED=1 )

SQLExecDirect( )
5941    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

5942	SQLNumResultCols( hStmt=1:1, pcCol=&0000000005847070 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLNumResultCols( pcCol=0 )
5959    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

5960	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
5987    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6718	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=1, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -1.941103E+009 seconds
( iRowNumber=-2, iColumnNumber=-2 )

SQLGetDiagRec( pszSqlState="24000", pfNativeError=-99999, pszErrorMsg="[IBM][CLI Driver] CLI0115E  Invalid cursor state. SQLSTATE=24000", pcbErrorMsg=64 )
6803    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

6804	SQLGetDiagRec( fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=2, pszSqlState=&00007ffc2dee7972, pfNativeError=&00007ffc2dee796c, pszErrorMsg=&00007ffc2dee79c0, cbErrorMsgMax=1024, pcbErrorMsg=&00007ffc2dee796a )
    ---> Time elapsed - -1.941103E+009 seconds

SQLGetDiagRec( )
6820    <--- SQL_NO_DATA_FOUND   Time elapsed - -1.941103E+009 seconds

6821	SQLNumResultCols( hStmt=1:1, pcCol=&0000000005807940 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLNumResultCols( pcCol=0 )
6838    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6839	SQLMoreResults( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLMoreResults( )
6857    <--- SQL_NO_DATA_FOUND   Time elapsed - -8.081421E+008 seconds

6858	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
6895    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7606	SQLNumResultCols( hStmt=1:1, pcCol=&0000000005847d00 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLNumResultCols( pcCol=3 )
7623    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

7624	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_LABEL, rgbDesc=&00007ffc2dee79c0, cbDescMax=1024, pcbDesc=&00007ffc2dee79bc, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="X", psCharAttributeByteLen=1 )
7685    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7686	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_DISPLAY_SIZE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827554 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7707    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7708	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_PRECISION, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827558 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7729    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7730	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_SCALE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827556 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7751    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7752	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_LENGTH, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&000000000582755a )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7773    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7774	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_CONCISE_TYPE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&000000000582755c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=-370 )
7795    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7796	SQLColAttribute( hStmt=1:1, iCol=1, fDescType=SQL_DESC_TYPE_NAME, rgbDesc=&0000000005806510, cbDescMax=1024, pcbDesc=&00007ffc2dee79be, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="XML", psCharAttributeByteLen=3 )
7821    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7822	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_LABEL, rgbDesc=&00007ffc2dee79c0, cbDescMax=1024, pcbDesc=&00007ffc2dee79bc, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="XX", psCharAttributeByteLen=2 )
7864    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7865	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_DISPLAY_SIZE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&000000000582757c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=2048 )
7886    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7887	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_PRECISION, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827580 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7908    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7909	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_SCALE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&000000000582757e )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
7930    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7931	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_LENGTH, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827582 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=2048 )
7952    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7953	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_CONCISE_TYPE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&0000000005827584 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=-99 )
7974    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

7975	SQLColAttribute( hStmt=1:1, iCol=2, fDescType=SQL_DESC_TYPE_NAME, rgbDesc=&000000000573a5e0, cbDescMax=1024, pcbDesc=&00007ffc2dee79be, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="CLOB", psCharAttributeByteLen=4 )
8000    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8001	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_LABEL, rgbDesc=&00007ffc2dee79c0, cbDescMax=1024, pcbDesc=&00007ffc2dee79bc, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="YY", psCharAttributeByteLen=2 )
8043    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8044	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_DISPLAY_SIZE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&00000000058275a4 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=4096 )
8065    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8066	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_PRECISION, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&00000000058275a8 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
8087    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8088	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_SCALE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&00000000058275a6 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=0 )
8109    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8110	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_LENGTH, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&00000000058275aa )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=2048 )
8131    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8132	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_CONCISE_TYPE, rgbDesc=<NULL pointer>, cbDescMax=0, pcbDesc=<NULL pointer>, pfDesc=&00000000058275ac )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( piNumericAttribute=-98 )
8153    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8154	SQLColAttribute( hStmt=1:1, iCol=3, fDescType=SQL_DESC_TYPE_NAME, rgbDesc=&00000000057e8ba0, cbDescMax=1024, pcbDesc=&00007ffc2dee79be, pfDesc=<NULL pointer> )
    ---> Time elapsed - -8.081421E+008 seconds

SQLColAttribute( pCharAttribute="BLOB", psCharAttributeByteLen=4 )
8179    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8180	SQLGetData( hStmt=1:1, iCol=1, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<?xml version="1.0" encoding="ISO-8859-1" ?><Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高劬司收劥成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面劷有一定经验。
劷有五年的销售管理经验,匊括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D2249534F2D383835392D3122203F3E3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E50AACE58FB8E694B6E50AA5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E50AB7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE50AB7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C0AE68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=581 )
8279    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8280	SQLGetData( hStmt=1:1, iCol=2, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高劬司收劥成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面劷有一定经验。
劷有五年的销售管理经验,匊括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E50AACE58FB8E694B6E50AA5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E50AB7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE50AB7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C0AE68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=537 )
8352    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8353	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&0000000005867c60, cbValueMax=1022, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue=x'3C536B696C6C733EC3A7C286C29FC3A6C282C289C3A6C289C280C3A6C29CC289C3A9C294C280C3A5C294C2AEC3A7C28EC2AFC3A8C28AC282C3AFC2BCC28CC3A4C2B8C293C3A4C2B8C29AC3A7C29FC2A5C3A8C2AFC286C3A4C2B8C2B0C3A5C2AFC28CC3A3C280C282313320C3A5C2B9C2B4C3A6C29DC2A5C3AFC2BCC28CC3A4C2B8C2BAC3A6C28FC290C3A9C2ABC298C3A50AC2ACC3A5C28FC2B8C3A6C294C2B6C3A50AC2A5C3A6C288C290C3A7C2BBC2A9C3A5C28DC293C3A8C291C297C3A3C280C282C3A5C29CC2A8C3A8C2AEC2A1C3A5C288C292C3A5C292C28CC3A9C2A2C284C3A6C2B5C28BC3A9C294C280C3A5C294C2AEC3A3C280C281C3A5C28FC291C3A5C2B1C295C3A5C2AEC2A2C3A6C288C2B7C3A4C2BBC2A5C3A5C28FC28AC3A8C2BFC290C3A7C294C2A8C3A5C2A4C29AC3A7C2A7C28DC3A9C294C280C3A5C294C2AEC3A6C28AC280C3A5C2B7C2A7C3A6C296C2B9C3A9C29DC2A2C3A50AC2B7C3A6C29CC289C3A4C2B8C280C3A5C2AEC29AC3A7C2BBC28FC3A9C2AAC28CC3A3C280C2820AC3A50AC2B7C3A6C29CC289C3A4C2BAC294C3A5C2B9C2B4C3A7C29AC284C3A9C294C280C3A5C294C2AEC3A7C2AEC2A1C3A7C290C286C3A7C2BBC28FC3A9C2AAC28CC3AFC2BCC28CC3A5C28C0AC3A6C28BC2ACC3A5C2AEC2A2C3A6C288C2B7C3A7C2BAC2BFC3A7C2B4C2A2C3A7C294C29FC3A6C288C290C3A3C280C281C3A9C294C280C3A5C294C2AEC3A4C2BAC2BAC3A5C291C298C3A7C2AEC2A1C3A7C290C286C3A4C2BBC2A5C3A5C28FC28AC3A9C294C280C3A5C294C2AEC3A5C28CC2BAC3A5C29FC29FC3A7C2AEC2A1C3A7C290C286C3A3C280C282C3A5C29CC2A8C3A7C2AEC2A1C3A7C290C286C3A7C294C2B1C3A7C28EC2B0C3A5C29CC2BAC3A9C294C280C3A5C294C2AEC3A4C2BBC2A3C3A8C2A1C2A8C3A3C280C281C3A4C2BAC2A7C3A5C293C281C3A6C2BCC294C3A7C2A4C2BAC3A4C2BAC2BAC3A5C291C298C3A5C292C28CC3A4C2BEC29BC3A5C2BAC294C3A5C295C286C3A7C2BBC284C3A6C288C290C3A7C29AC284C3A5C288C286C3A5C2B8C283C3A5C2BCC28FC3A9C294C280C3A5C294C2AEC3A7C2BDC291C3A7C2BBC29CC3A8C2BFC287C3A7C2A8C28BC3A4C2B8C2ADC3AFC2BCC28CC3A8C283C2BDC3A5C2A4C29FC3A5C288C2A9C3A7C294C2A8C3A5C290C284C3A7C2A7C28DC3A7C2AEC2A1C3A7C290C286C3A9C2A3C28EC3A6C2A0C2BCC3A5C292C28CC3A4C2B8C293C3A4C2B8C29AC3A6C28AC280C3A8C283C2BDC3A6C29DC2A5C3A8C2BFC29BC3A8C2A1C28CC3A6C29CC289C3A6C295C288C3A7C2AEC2A1C3A7C290C286C3A5C292C28CC3A6C2B2C29FC3A9C280C29AC3A3C280C2820AC3A6C29EC281C3A4C2BDC2B3C3A7C29AC284C3A6C2B2C29FC3A9C280C29AC3A5C292C28CC3A8C2A1C2A8C3A8C2BEC2BEC3A8C283C2BD', pcbValue=0 )
8401    <--- SQL_SUCCESS_WITH_INFO   Time elapsed - -8.081421E+008 seconds

8402	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&0000000005826b1e, cbValueMax=20, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds
( Unretrieved error message="[IBM][CLI Driver] CLI0002W  Data truncated. SQLSTATE=01004" )

SQLGetData( rgbValue=x'C3A5C28AC29B0A202020203C2F536B696C6C733E', pcbValue=20 )
8481    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8736	SQLGetData( hStmt=1:1, iCol=1, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -1.941103E+009 seconds

SQLGetData( rgbValue="<?xml version="1.0" encoding="ISO-8859-1" ?><Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高劬司收劥成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面劷有一定经验。
劷有五年的销售管理经验,匊括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D2249534F2D383835392D3122203F3E3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E50AACE58FB8E694B6E50AA5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E50AB7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE50AB7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C0AE68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=581 )
8775    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

8776	SQLGetData( hStmt=1:1, iCol=2, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<Skills>熟悉所有销售环节,专业知识丰富。13 年来,为提高劬司收劥成绩卓著。在计划和预测销售、发展客户以及运用多种销售技巧方面劷有一定经验。
劷有五年的销售管理经验,匊括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E50AACE58FB8E694B6E50AA5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E50AB7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE50AB7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C0AE68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=537 )
8844    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8845	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&0000000005867c60, cbValueMax=1022, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue=x'3C536B696C6C733EC3A7C286C29FC3A6C282C289C3A6C289C280C3A6C29CC289C3A9C294C280C3A5C294C2AEC3A7C28EC2AFC3A8C28AC282C3AFC2BCC28CC3A4C2B8C293C3A4C2B8C29AC3A7C29FC2A5C3A8C2AFC286C3A4C2B8C2B0C3A5C2AFC28CC3A3C280C282313320C3A5C2B9C2B4C3A6C29DC2A5C3AFC2BCC28CC3A4C2B8C2BAC3A6C28FC290C3A9C2ABC298C3A50AC2ACC3A5C28FC2B8C3A6C294C2B6C3A50AC2A5C3A6C288C290C3A7C2BBC2A9C3A5C28DC293C3A8C291C297C3A3C280C282C3A5C29CC2A8C3A8C2AEC2A1C3A5C288C292C3A5C292C28CC3A9C2A2C284C3A6C2B5C28BC3A9C294C280C3A5C294C2AEC3A3C280C281C3A5C28FC291C3A5C2B1C295C3A5C2AEC2A2C3A6C288C2B7C3A4C2BBC2A5C3A5C28FC28AC3A8C2BFC290C3A7C294C2A8C3A5C2A4C29AC3A7C2A7C28DC3A9C294C280C3A5C294C2AEC3A6C28AC280C3A5C2B7C2A7C3A6C296C2B9C3A9C29DC2A2C3A50AC2B7C3A6C29CC289C3A4C2B8C280C3A5C2AEC29AC3A7C2BBC28FC3A9C2AAC28CC3A3C280C2820AC3A50AC2B7C3A6C29CC289C3A4C2BAC294C3A5C2B9C2B4C3A7C29AC284C3A9C294C280C3A5C294C2AEC3A7C2AEC2A1C3A7C290C286C3A7C2BBC28FC3A9C2AAC28CC3AFC2BCC28CC3A5C28C0AC3A6C28BC2ACC3A5C2AEC2A2C3A6C288C2B7C3A7C2BAC2BFC3A7C2B4C2A2C3A7C294C29FC3A6C288C290C3A3C280C281C3A9C294C280C3A5C294C2AEC3A4C2BAC2BAC3A5C291C298C3A7C2AEC2A1C3A7C290C286C3A4C2BBC2A5C3A5C28FC28AC3A9C294C280C3A5C294C2AEC3A5C28CC2BAC3A5C29FC29FC3A7C2AEC2A1C3A7C290C286C3A3C280C282C3A5C29CC2A8C3A7C2AEC2A1C3A7C290C286C3A7C294C2B1C3A7C28EC2B0C3A5C29CC2BAC3A9C294C280C3A5C294C2AEC3A4C2BBC2A3C3A8C2A1C2A8C3A3C280C281C3A4C2BAC2A7C3A5C293C281C3A6C2BCC294C3A7C2A4C2BAC3A4C2BAC2BAC3A5C291C298C3A5C292C28CC3A4C2BEC29BC3A5C2BAC294C3A5C295C286C3A7C2BBC284C3A6C288C290C3A7C29AC284C3A5C288C286C3A5C2B8C283C3A5C2BCC28FC3A9C294C280C3A5C294C2AEC3A7C2BDC291C3A7C2BBC29CC3A8C2BFC287C3A7C2A8C28BC3A4C2B8C2ADC3AFC2BCC28CC3A8C283C2BDC3A5C2A4C29FC3A5C288C2A9C3A7C294C2A8C3A5C290C284C3A7C2A7C28DC3A7C2AEC2A1C3A7C290C286C3A9C2A3C28EC3A6C2A0C2BCC3A5C292C28CC3A4C2B8C293C3A4C2B8C29AC3A6C28AC280C3A8C283C2BDC3A6C29DC2A5C3A8C2BFC29BC3A8C2A1C28CC3A6C29CC289C3A6C295C288C3A7C2AEC2A1C3A7C290C286C3A5C292C28CC3A6C2B2C29FC3A9C280C29AC3A3C280C2820AC3A6C29EC281C3A4C2BDC2B3C3A7C29AC284C3A6C2B2C29FC3A9C280C29AC3A5C292C28CC3A8C2A1C2A8C3A8C2BEC2BEC3A8C283C2BD', pcbValue=0 )
8893    <--- SQL_SUCCESS_WITH_INFO   Time elapsed - -8.081421E+008 seconds

8894	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&000000000586522e, cbValueMax=20, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds
( Unretrieved error message="[IBM][CLI Driver] CLI0002W  Data truncated. SQLSTATE=01004" )

SQLGetData( rgbValue=x'C3A5C28AC29B0A202020203C2F536B696C6C733E', pcbValue=20 )
8973    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9228	SQLGetData( hStmt=1:1, iCol=1, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -1.941103E+009 seconds

SQLGetData( rgbValue="<?xml version="1.0" encoding="ISO-8859-1" ?><Skills>我是一名经验丰富的机械师,技术动面,不今单独操作各种机械设备,还管理劶他机械师的工作。我专攻诊断和精度检测,可以读懂设计图,能够妥善处理各方面的人陊劳系并劷备良好的沟通能力来指导我管辖的机械师的工作. 与劶他候选耊相比,我拥有的机械工程学位使我对机械师行业在理论方面劷有更深刻的了解,数学背景知识也更深厚.
    </Skills>" - x'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D2249534F2D383835392D3122203F3E3C536B696C6C733EE68891E698AFE4B880E5908DE7BB8FE9AA8CE4B8B0E5AF8CE79A84E69CBAE6A2B0E5B888EFBC8CE68A80E69CAFE50AA8E99DA2EFBC8CE4B88DE4BB0AE58D95E78BACE6938DE4BD9CE59084E7A78DE69CBAE6A2B0E8AEBEE5A487EFBC8CE8BF98E7AEA1E79086E50AB6E4BB96E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9CE38082E68891E4B893E694BBE8AF8AE696ADE5928CE7B2BEE5BAA6E6A380E6B58BEFBC8CE58FAFE4BBA5E8AFBBE68782E8AEBEE8AEA1E59BBEEFBC8CE883BDE5A49FE5A6A5E59684E5A484E79086E59084E696B9E99DA2E79A84E4BABAE9990AE50AB3E7B3BBE5B9B6E50AB7E5A487E889AFE5A5BDE79A84E6B29FE9809AE883BDE58A9BE69DA5E68C87E5AFBCE68891E7AEA1E8BE96E79A84E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9C2E20E4B88EE50AB6E4BB96E58099E98089E8800AE79BB8E6AF94EFBC8CE68891E68BA5E69C89E79A84E69CBAE6A2B0E5B7A5E7A88BE5ADA6E4BD8DE4BDBFE68891E5AFB9E69CBAE6A2B0E5B888E8A18CE4B89AE59CA8E79086E8AEBAE696B9E99DA2E50AB7E69C89E69BB4E6B7B1E588BBE79A84E4BA86E8A7A3EFBC8CE695B0E5ADA6E8838CE699AFE79FA5E8AF86E4B99FE69BB4E6B7B1E58E9A2E0A202020203C2F536B696C6C733E', pcbValue=519 )
9266    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

9267	SQLGetData( hStmt=1:1, iCol=2, fCType=SQL_C_CHAR, rgbValue=&0000000005867c60, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<Skills>我是一名经验丰富的机械师,技术动面,不今单独操作各种机械设备,还管理劶他机械师的工作。我专攻诊断和精度检测,可以读懂设计图,能够妥善处理各方面的人陊劳系并劷备良好的沟通能力来指导我管辖的机械师的工作. 与劶他候选耊相比,我拥有的机械工程学位使我对机械师行业在理论方面劷有更深刻的了解,数学背景知识也更深厚.
    </Skills>" - x'3C536B696C6C733EE68891E698AFE4B880E5908DE7BB8FE9AA8CE4B8B0E5AF8CE79A84E69CBAE6A2B0E5B888EFBC8CE68A80E69CAFE50AA8E99DA2EFBC8CE4B88DE4BB0AE58D95E78BACE6938DE4BD9CE59084E7A78DE69CBAE6A2B0E8AEBEE5A487EFBC8CE8BF98E7AEA1E79086E50AB6E4BB96E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9CE38082E68891E4B893E694BBE8AF8AE696ADE5928CE7B2BEE5BAA6E6A380E6B58BEFBC8CE58FAFE4BBA5E8AFBBE68782E8AEBEE8AEA1E59BBEEFBC8CE883BDE5A49FE5A6A5E59684E5A484E79086E59084E696B9E99DA2E79A84E4BABAE9990AE50AB3E7B3BBE5B9B6E50AB7E5A487E889AFE5A5BDE79A84E6B29FE9809AE883BDE58A9BE69DA5E68C87E5AFBCE68891E7AEA1E8BE96E79A84E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9C2E20E4B88EE50AB6E4BB96E58099E98089E8800AE79BB8E6AF94EFBC8CE68891E68BA5E69C89E79A84E69CBAE6A2B0E5B7A5E7A88BE5ADA6E4BD8DE4BDBFE68891E5AFB9E69CBAE6A2B0E5B888E8A18CE4B89AE59CA8E79086E8AEBAE696B9E99DA2E50AB7E69C89E69BB4E6B7B1E588BBE79A84E4BA86E8A7A3EFBC8CE695B0E5ADA6E8838CE699AFE79FA5E8AF86E4B99FE69BB4E6B7B1E58E9A2E0A202020203C2F536B696C6C733E', pcbValue=475 )
9334    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9335	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&0000000005867c60, cbValueMax=1022, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue=x'3C536B696C6C733EC3A6C288C291C3A6C298C2AFC3A4C2B8C280C3A5C290C28DC3A7C2BBC28FC3A9C2AAC28CC3A4C2B8C2B0C3A5C2AFC28CC3A7C29AC284C3A6C29CC2BAC3A6C2A2C2B0C3A5C2B8C288C3AFC2BCC28CC3A6C28AC280C3A6C29CC2AFC3A50AC2A8C3A9C29DC2A2C3AFC2BCC28CC3A4C2B8C28DC3A4C2BB0AC3A5C28DC295C3A7C28BC2ACC3A6C293C28DC3A4C2BDC29CC3A5C290C284C3A7C2A7C28DC3A6C29CC2BAC3A6C2A2C2B0C3A8C2AEC2BEC3A5C2A4C287C3AFC2BCC28CC3A8C2BFC298C3A7C2AEC2A1C3A7C290C286C3A50AC2B6C3A4C2BBC296C3A6C29CC2BAC3A6C2A2C2B0C3A5C2B8C288C3A7C29AC284C3A5C2B7C2A5C3A4C2BDC29CC3A3C280C282C3A6C288C291C3A4C2B8C293C3A6C294C2BBC3A8C2AFC28AC3A6C296C2ADC3A5C292C28CC3A7C2B2C2BEC3A5C2BAC2A6C3A6C2A3C280C3A6C2B5C28BC3AFC2BCC28CC3A5C28FC2AFC3A4C2BBC2A5C3A8C2AFC2BBC3A6C287C282C3A8C2AEC2BEC3A8C2AEC2A1C3A5C29BC2BEC3AFC2BCC28CC3A8C283C2BDC3A5C2A4C29FC3A5C2A6C2A5C3A5C296C284C3A5C2A4C284C3A7C290C286C3A5C290C284C3A6C296C2B9C3A9C29DC2A2C3A7C29AC284C3A4C2BAC2BAC3A9C2990AC3A50AC2B3C3A7C2B3C2BBC3A5C2B9C2B6C3A50AC2B7C3A5C2A4C287C3A8C289C2AFC3A5C2A5C2BDC3A7C29AC284C3A6C2B2C29FC3A9C280C29AC3A8C283C2BDC3A5C28AC29BC3A6C29DC2A5C3A6C28CC287C3A5C2AFC2BCC3A6C288C291C3A7C2AEC2A1C3A8C2BEC296C3A7C29AC284C3A6C29CC2BAC3A6C2A2C2B0C3A5C2B8C288C3A7C29AC284C3A5C2B7C2A5C3A4C2BDC29C2E20C3A4C2B8C28EC3A50AC2B6C3A4C2BBC296C3A5C280C299C3A9C280C289C3A8C2800AC3A7C29BC2B8C3A6C2AFC294C3AFC2BCC28CC3A6C288C291C3A6C28BC2A5C3A6C29CC289C3A7C29AC284C3A6C29CC2BAC3A6C2A2C2B0C3A5C2B7C2A5C3A7C2A8C28BC3A5C2ADC2A6C3A4C2BDC28DC3A4C2BDC2BFC3A6C288C291C3A5C2AFC2B9C3A6C29CC2BAC3A6C2A2C2B0C3A5C2B8C288C3A8C2A1C28CC3A4C2B8C29AC3A5C29CC2A8C3A7C290C286C3A8C2AEC2BAC3A6C296C2B9C3A9C29DC2A2C3A50AC2B7C3A6C29CC289C3A6C29BC2B4C3A6C2B7C2B1C3A5C288C2BBC3A7C29AC284C3A4C2BAC286C3A8C2A7C2A3C3AFC2BCC28CC3A6C295C2B0C3A5C2ADC2A6C3A8C283C28CC3A6C299C2AFC3A7C29FC2A5C3A8C2AFC286C3A4C2B9C29FC3A6C29BC2B4C3A6C2B7C2B1C3A5C28EC29A2E0A202020203C2F536B696C6C733E', pcbValue=916 )
9378    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9633	SQLGetData( hStmt=1:1, iCol=1, fCType=SQL_C_CHAR, rgbValue=&0000000005866100, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---
4748	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - 0 seconds

SQLFetch( )
4774    <--- SQL_ERROR   Time elapsed - +0.000000E+000 seconds

6699	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLFetch( )
6717    <--- SQL_ERROR   Time elapsed - -8.081421E+008 seconds

8974	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLFetch( )
9227    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds
®¡理经验,包括客户线索生成、销售人员管理以及销售区域管理。在管理由现场销售代表、产品演示人员和供应商组成的分布式销售网络过程中,能够利用各种管理风格和专业技能来进行有效管理和沟通。
极佳的沟通和表达能力
    </Skills>" - x'3C536B696C6C733EE7869FE68289E68980E69C89E99480E594AEE78EAFE88A82EFBC8CE4B893E4B89AE79FA5E8AF86E4B8B0E5AF8CE38082313320E5B9B4E69DA5EFBC8CE4B8BAE68F90E9AB98E585ACE58FB8E694B6E585A5E68890E7BBA9E58D93E89197E38082E59CA8E8AEA1E58892E5928CE9A284E6B58BE99480E594AEE38081E58F91E5B195E5AEA2E688B7E4BBA5E58F8AE8BF90E794A8E5A49AE7A78DE99480E594AEE68A80E5B7A7E696B9E99DA2E585B7E69C89E4B880E5AE9AE7BB8FE9AA8CE380820AE585B7E69C89E4BA94E5B9B4E79A84E99480E594AEE7AEA1E79086E7BB8FE9AA8CEFBC8CE58C85E68BACE5AEA2E688B7E7BABFE7B4A2E7949FE68890E38081E99480E594AEE4BABAE59198E7AEA1E79086E4BBA5E58F8AE99480E594AEE58CBAE59F9FE7AEA1E79086E38082E59CA8E7AEA1E79086E794B1E78EB0E59CBAE99480E594AEE4BBA3E8A1A8E38081E4BAA7E59381E6BC94E7A4BAE4BABAE59198E5928CE4BE9BE5BA94E59586E7BB84E68890E79A84E58886E5B883E5BC8FE99480E594AEE7BD91E7BB9CE8BF87E7A88BE4B8ADEFBC8CE883BDE5A49FE588A9E794A8E59084E7A78DE7AEA1E79086E9A38EE6A0BCE5928CE4B893E4B89AE68A80E883BDE69DA5E8BF9BE8A18CE69C89E69588E7AEA1E79086E5928CE6B29FE9809AE380820AE69E81E4BDB3E79A84E6B29FE9809AE5928CE8A1A8E8BEBEE883BDE58A9B0A202020203C2F536B696C6C733E', pcbValue=537 )
( Row=3, iPar=1, fCType=SQL_C_CHAR, rgbValue="<Skills>我是一名经验丰富的机械师,技术全面,不仅单独操作各种机械设备,还管理其他机械师的工作。我专攻诊断和精度检测,可以读懂设计图,能够妥善处理各方面的人际关系并具备良好的沟通能力来指导我管辖的机械师的工作. 与其他候选者相比,我拥有的机械工程学位使我对机械师行业在理论方面具有更深刻的了解,数学背景知识也更深厚.
    </Skills>" - x'3C536B696C6C733EE68891E698AFE4B880E5908DE7BB8FE9AA8CE4B8B0E5AF8CE79A84E69CBAE6A2B0E5B888EFBC8CE68A80E69CAFE585A8E99DA2EFBC8CE4B88DE4BB85E58D95E78BACE6938DE4BD9CE59084E7A78DE69CBAE6A2B0E8AEBEE5A487EFBC8CE8BF98E7AEA1E79086E585B6E4BB96E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9CE38082E68891E4B893E694BBE8AF8AE696ADE5928CE7B2BEE5BAA6E6A380E6B58BEFBC8CE58FAFE4BBA5E8AFBBE68782E8AEBEE8AEA1E59BBEEFBC8CE883BDE5A49FE5A6A5E59684E5A484E79086E59084E696B9E99DA2E79A84E4BABAE99985E585B3E7B3BBE5B9B6E585B7E5A487E889AFE5A5BDE79A84E6B29FE9809AE883BDE58A9BE69DA5E68C87E5AFBCE68891E7AEA1E8BE96E79A84E69CBAE6A2B0E5B888E79A84E5B7A5E4BD9C2E20E4B88EE585B6E4BB96E58099E98089E88085E79BB8E6AF94EFBC8CE68891E68BA5E69C89E79A84E69CBAE6A2B0E5B7A5E7A88BE5ADA6E4BD8DE4BDBFE68891E5AFB9E69CBAE6A2B0E5B888E8A18CE4B89AE59CA8E79086E8AEBAE696B9E99DA2E585B7E69C89E69BB4E6B7B1E588BBE79A84E4BA86E8A7A3EFBC8CE695B0E5ADA6E8838CE699AFE79FA5E8AF86E4B99FE69BB4E6B7B1E58E9A2E0A202020203C2F536B696C6C733E', pcbValue=475 )
( Row=4, iPar=1, fCType=SQL_C_CHAR, rgbValue="<Skills>None worth mentioning
    </Skills>" - x'3C536B696C6C733E4E6F6E6520776F727468206D656E74696F6E696E670A202020203C2F536B696C6C733E', pcbValue=43 )
( COMMIT REPLY RECEIVED=1 )

SQLExecute( )
6698    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

8482	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLFetch( )
8735    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

2027	SQLSetConnectAttr( hDbc=0:1, fOption=SQL_ATTR_LOGIN_TIMEOUT, pvParam=&000000000000001e, iStrLen=4 )
    ---> Time elapsed - 0 seconds

SQLSetConnectAttr( )
2052    <--- SQL_SUCCESS   Time elapsed - +0.000000E+000 seconds

2053	SQLDriverConnect( hDbc=0:1, hwnd=0:0, szConnStrIn="DATABASE=SAMPLE;HOSTNAME=IBMDB2-01;PORT=50000;PROTOCOL=TCPIP;UID=DB2INST1;PWD=******;", cbConnStrIn=86, szConnStrOut=<NULL pointer>, cbConnStrOutMax=0, pcbConnStrOut=<NULL pointer>, fDriverCompletion=SQL_DRIVER_NOPROMPT )
    ---> Time elapsed - -1.941103E+009 seconds
( DBMS NAME="DB2/LINUXX8664", Version="11.05.0800", Fixpack="0x26090109" )
( Application Codepage=819, Database  Codepage=1208, Database XML Codepage=1208, Char Send/Recv Codepage=819, Graphic Send/Recv Codepage=1200, XML Send/Recv Codepage=1208 )

SQLDriverConnect(
( UID="DB2INST1" )
( PWD="" )
( DATABASE="SAMPLE" )
( HOSTNAME="IBMDB2-01" )
( PORT="50000" )
( PROTOCOL="TCPIP" )
 )
4331    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

4339	SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&00007fac657bdddc )
    ---> Time elapsed - -1.941103E+009 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
4363    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

4364	SQLGetFunctions( hDbc=0:1, fFunction=SQL_API_SQLMORERESULTS, pfExists=&0000000005805ad0 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetFunctions( pfExists=1 )
4380    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

4381	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
4408    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

5511	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLFetch( )
5532    <--- SQL_ERROR   Time elapsed - -1.941103E+009 seconds

7342	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLFetch( )
7605    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9782	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds

SQLFetch( )
9976    <--- SQL_NO_DATA_FOUND   Time elapsed - -8.081421E+008 seconds

1862	SQLAllocHandle( fHandleType=SQL_HANDLE_DBC, hInput=0:1, phOutput=&0000000005845ce0 )
    ---> Time elapsed - 0 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_DBC, hInput=0:1, phOutput=0:1 )
2026    <--- SQL_SUCCESS   Time elapsed - +0.000000E+000 seconds

4982	SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&0000000005846770 )
    ---> Time elapsed - -1.012336E+000 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
4993    <--- SQL_SUCCESS   Time elapsed - -1.012336E+000 seconds

4994	SQLExecDirect( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( pszSqlStr="BEGIN DECLARE V_STATEMENT VARCHAR(300) DEFAULT 'drop table XML_TAB'; DECLARE CONTINUE HANDLER FOR SQLSTATE '42704' BEGIN  END;  EXECUTE IMMEDIATE V_STATEMENT; END;", cbSqlStr=163 )
( StmtOut="BEGIN DECLARE V_STATEMENT VARCHAR(300) DEFAULT 'drop table XML_TAB'; DECLARE CONTINUE HANDLER FOR SQLSTATE '42704' BEGIN  END;  EXECUTE IMMEDIATE V_STATEMENT; END " )
( Package="SYSSH200          ", Section=4 )
( COMMIT REPLY RECEIVED=1 )
( return=-1 )
( COMMIT REQUESTED=1 )
( COMMIT REPLY RECEIVED=1 )

SQLExecDirect( )
5510    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

6903	SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&0000000005807ae0 )
    ---> Time elapsed - -1.941103E+009 seconds

SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=1:1 )
6914    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

6915	SQLExecDirect( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( pszSqlStr="select X, XMLSERIALIZE("X"  AS CLOB(2048) EXCLUDING XMLDECLARATION) "XX", XMLSERIALIZE("X"  AS BLOB(2048) EXCLUDING XMLDECLARATION) "YY" from XML_TAB", cbSqlStr=149 )
( StmtOut="select X, XMLSERIALIZE("X"  AS CLOB(2048) EXCLUDING XMLDECLARATION) "XX", XMLSERIALIZE("X"  AS BLOB(2048) EXCLUDING XMLDECLARATION) "YY" from XML_TAB" )
( Package="SYSSH200          ", Section=4 )
( Requested Cursor Attributes=x'03000008' )
( Reply Cursor Attributes=x'02000808' )
( Actual Cursor Attributes=x'03000808' )

SQLExecDirect( )
7341    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9379	SQLFetch( hStmt=1:1 )
    ---> Time elapsed - -1.032748E+000 seconds

SQLFetch( )
9632    <--- SQL_SUCCESS   Time elapsed - -1.032748E+000 seconds
> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<?xml version="1.0" encoding="ISO-8859-1" ?><Skills>None worth mentioning
    </Skills>" - x'3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D2249534F2D383835392D3122203F3E3C536B696C6C733E4E6F6E6520776F727468206D656E74696F6E696E670A202020203C2F536B696C6C733E', pcbValue=87 )
9670    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9671	SQLGetData( hStmt=1:1, iCol=2, fCType=SQL_C_CHAR, rgbValue=&0000000005866100, cbValueMax=1023, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue="<Skills>None worth mentioning
    </Skills>" - x'3C536B696C6C733E4E6F6E6520776F727468206D656E74696F6E696E670A202020203C2F536B696C6C733E', pcbValue=43 )
9737    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9738	SQLGetData( hStmt=1:1, iCol=3, fCType=SQL_C_BINARY, rgbValue=&0000000005866100, cbValueMax=1022, pcbValue=&00007ffc2dee7c3c )
    ---> Time elapsed - -8.081421E+008 seconds

SQLGetData( rgbValue=x'3C536B696C6C733E4E6F6E6520776F727468206D656E74696F6E696E670A202020203C2F536B696C6C733E', pcbValue=43 )
9781    <--- SQL_SUCCESS   Time elapsed - -8.081421E+008 seconds

9977	SQLMoreResults( hStmt=1:1 )
    ---> Time elapsed - -8.081421E+008 seconds
( COMMIT REQUESTED=1 )
( COMMIT REPLY RECEIVED=1 )

SQLMoreResults( )
10128    <--- SQL_NO_DATA_FOUND   Time elapsed - -8.081421E+008 seconds

10129	SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 )
    ---> Time elapsed - -1.941103E+009 seconds
( Caching Statement Structure=1 )

SQLFreeHandle( )
10167    <--- SQL_SUCCESS   Time elapsed - -1.941103E+009 seconds

@markddrake Check the data printed by SQLExecute and SQLGetData APIs in this file. You can see the returned XML data by server. Do you see any issue with these data? Please let me know. Thanks.

Couldn't make sense of the trace.. Sorry..

Tried to simplify the testcase. Started off by running the following SQL

SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE';
--
drop table XML_TAB;
--
create table XML_TAB(I INTEGER, X XML);
--
insert into XML_TAB (I,X) values (1,'<Test>ASCII</Test>');
--
insert into XML_TAB (I,X) values (2,'<Test>Jürgen</Test>');
--
insert into XML_TAB (I,X) values (3,'<Test>熟悉所</Test>');
--
commit;
--
select I, XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION) XML_CONTENT, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),OCTETS) BYTES_CLOB, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),CODEUNITS32) CHARS_CLOB from XML_TAB;
--

from a db2 command line inside the DB2 container and got the following results.

c:\Development\YADAMU\src\scratch\db2>docker exec -it -u db2inst1 IBMDB2-01 bash
[db2inst1@1b0693d46d58 /]$ db2
(c) Copyright IBM Corporation 1993,2007
Command Line Processor for DB2 Client 11.5.8.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
 ? CATALOG DATABASE for help on the CATALOG DATABASE command
 ? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => connect to SAMPLE

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.8.0
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

db2 => SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE';
DB20000I  The SQL command completed successfully.
db2 => drop table XML_TAB;
DB20000I  The SQL command completed successfully.
db2 => create table XML_TAB(I INTEGER, X XML);
DB20000I  The SQL command completed successfully.
db2 => insert into XML_TAB (I,X) values (1,'<Test>ASCII</Test>');
DB20000I  The SQL command completed successfully.
db2 => insert into XML_TAB (I,X) values (2,'<Test>Jürgen</Test>');
DB20000I  The SQL command completed successfully.
db2 => insert into XML_TAB (I,X) values (3,'<Test>熟悉所</Test>');
DB20000I  The SQL command completed successfully.
db2 => commit;
DB20000I  The SQL command completed successfully.
db2 => select I, XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION) XML_CONTENT, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),OCTETS) BYTES_CLOB, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),CODEUNITS32) CHARS_CLOB from XML_TAB;

I           XML_CONTENT                      BYTES_CLOB  CHARS_CLOB
----------- -------------------------------- ----------- -----------
          1 <Test>ASCII</Test>                        18          18
          2 <Test>Jürgen</Test>                       20          19
          3 <Test>熟悉所</Test>                       22          16

  3 record(s) selected.

db2 =>

The output is what I would expect. The first rows uses 18 bytes to represent 18 characters since all the characters are 1 bytes UTF-8. The 2nd row uses 20 bytes to represent 19 characters due to the ü, which is a 2 byte UTF-8 Character. The third row uses 22 bytes to represent 16 characters, since the 熟, 悉 and 所 characters are all 3 bytes UTF-8 Characters. This establishes a baseline for subsequent windows and linux tests.

Next I split the original test case into two parts and simplified the datasets

import ibmdb  from 'ibm_db'
	
async function main() {	
    const cn = "DATABASE=SAMPLE;HOSTNAME=yadamu-db2;PORT=50000;PROTOCOL=TCPIP;UID=DB2INST1;PWD=oracle;"
    
    const conn = await ibmdb.open(cn)
	let results 
	
	
	const SQL_XML_PARSING = "SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE'";
    results = await conn.query(SQL_XML_PARSING)
	
	results = await conn.query(`BEGIN DECLARE V_STATEMENT VARCHAR(300) DEFAULT 'drop table XML_TAB'; DECLARE CONTINUE HANDLER FOR SQLSTATE '42704' BEGIN  END;  EXECUTE IMMEDIATE V_STATEMENT; END;`)
	console.log(results)

    results = await conn.querySync(`create table XML_TAB(I INTEGER, X XML )`);
	console.log(results)
		
	const data = [doc1,doc2,doc3]
	
	let idx=0
	
	try {
      const query = {
        sql: 		  `insert into XML_TAB (I,X) values (?,?)`
	  ,	params: [{
 		   ParamType: 'ARRAY',
           DataType: 'INTEGER',
           Data: [11,12,13],
		},{
 		   ParamType: 'ARRAY',
           DataType: 'CLOB',
           Data: data,
		   Length : 8192
		}]
	  , ArraySize: data.length
	  }
	  
      results = await conn.query(query);
  	  console.log(results)
	} catch (e) {
	  console.log(1,e)
	}
	
}

main().then(() => { console.log('success')}).catch((e) => { console.log(e) })

const doc1 = `<Test>ASCII</Test>`;

const doc2 = `<Test>Jürgen</Test>`;

const doc3 = `<Test>熟悉所</Test>`
 

After running the testcase from Windows I got the following results running the last query from the db2 command line.

db2 => db2 => select I, XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION) XML_CONTENT, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),OCTETS) BYTES_CLOB, LENGTH(XMLSERIALIZE(X as CLOB(32) EXCLUDING XMLDECLARATION),CODEUNITS32) CHARS_CLOB from XML_TAB;
--

I           XML_CONTENT                      BYTES_CLOB  CHARS_CLOB
----------- -------------------------------- ----------- -----------
         11 <Test>ASCII</Test>                        18          18
         12 <Test>Jürgen</Test>                      22          20
SQL0433N  Value "<Test>熟悉所" is too long.  SQLSTATE=22001
db2 => db2 =>
db2 =>

So it appears that the windows Insert has failed. I adjusted the select command, doubling the size of the CLOB and got the following

I           XML_CONTENT                                                      BYTES_CLOB  CHARS_CLOB
----------- ---------------------------------------------------------------- ----------- -----------
         11 <Test>ASCII</Test>                                                        18          18
         12 <Test>Jürgen</Test>                                                      22          20
         13 <Test>熟悉所</Test>                                                    36          22

  3 record(s) selected.

db2 =>

It appears that 2 and 3 bytes UTF-8 data has not been handled correctly during the insert, even from Windows.
I then ran the insertXML.js from Linux. This time the query returned

db2 => select I, XMLSERIALIZE(X as CLOB(64) EXCLUDING XMLDECLARATION) XML_CONTENT, LENGTH(XMLSERIALIZE(X as CLOB(64) EXCLUDING XMLDECLARATION),OCTETS) BYTES_CLOB, LENGTH(XMLSERIALIZE(X as CLOB(64) EXCLUDING XMLDECLARATION),CODEUNITS32) CHARS_CLOB from XML_TAB;
--
I           XML_CONTENT                                                      BYTES_CLOB  CHARS_CLOB
----------- ---------------------------------------------------------------- ----------- -----------
         11 <Test>ASCII</Test>                                                        18          18
         12 <Test>Jürgen</Test>                                                      22          20
         13 <Test>çææ</Test>                                                    31          22

  3 record(s) selected.

db2 =>

So it appears that the data has been corrupted from Linux as well but slightly differently to windows.

Next I re-ran the sql script to ensure the table contained valid data and then ran the following code to test retrieval operations



import ibmdb  from 'ibm_db'
	
async function main() {	
    const cn = "DATABASE=SAMPLE;HOSTNAME=yadamu-db2;PORT=50000;PROTOCOL=TCPIP;UID=DB2INST1;PWD=oracle;"
    
    const conn = await ibmdb.open(cn)
	let results 
	
	const SQL_XML_PARSING = "SET CURRENT IMPLICIT XMLPARSE OPTION = 'PRESERVE WHITESPACE'";
    results = await conn.query(SQL_XML_PARSING)
	
	const data = [doc1,doc2,doc3]

	for (const [idx,str] of data.entries()) {
	  console.log(idx,str,'Bytes',Buffer.from(str).length,'Chars',str.length)
	}
	
	results = await conn.query(`select X, XMLSERIALIZE("X"  AS CLOB(32) EXCLUDING XMLDECLARATION) "XX", XMLSERIALIZE("X"  AS BLOB(32) EXCLUDING XMLDECLARATION) "YY" from XML_TAB`)
    

	
	results.forEach((row,idx)  => {
      const str = row.YY.toString("utf-8")
	  console.log(idx,data[idx],row.X,row.XX,str)
	  console.log('Source: [',idx,',',data[idx].length,'] ,X :[',typeof row.X,',',row.X.length,',',Buffer.from(row.X).length,'], XX: [',typeof row.XX,',',Buffer.isBuffer(row.XX),',',row.XX.length,',',Buffer.from(row.XX).length,'], YY: [',Buffer.isBuffer(row.YY),',',row.YY.length,',',str.length,']')
	  console.log(idx,data[idx] === row.X, data[idx] === row.XX, row.X === row.XX )
	  if ((data[idx].length === row.XX.length) && (data[idx] !== row.XX)) {
		for (let i=0;i++;i<data[idx].length) {
		  if (data[idx][i] !== row.XX[i]) {
			console.log('Mismatch',i,data[idx][i],row.XX[i])
		  }
		}
	  }	  
	})

}

main().then(() => { console.log('success')}).catch((e) => { console.log(e) })

  const doc1 = `<Test>ASCII</Test>`;

  const doc2 = `<Test>Jürgen</Test>`;

  const doc3 = `<Test>熟悉所</Test>`

On Windows this generated the following output.

0 <Test>ASCII</Test> Bytes 18 Chars 18
1 <Test>Jürgen</Test> Bytes 20 Chars 19
2 <Test>熟悉所</Test> Bytes 22 Chars 16
0 <Test>ASCII</Test> <?xml version="1.0" encoding="windows-1252" ?><Test>ASCII</Test> <Test>ASCII</Test> <Test>ASCII</Test>
Source: [ 0 , 18 ] ,X :[ string , 64 , 64 ], XX: [ string , false , 18 , 18 ], YY: [ true , 18 , 18 ]
0 false true false
1 <Test>Jürgen</Test> <?xml version="1.0" encoding="windows-1252" ?><Test>J�rgen</Test> <Test>J�rgen</Test> <Test>Jürgen</Test>
Source: [ 1 , 19 ] ,X :[ string , 65 , 67 ], XX: [ string , false , 19 , 21 ], YY: [ true , 20 , 19 ]
1 false false false
2 <Test>熟悉所</Test> <?xml version="1.0" encoding="windows-1252" ?><Test>⸮⸮⸮</Test> <Test>⸮⸮⸮</Test> <Test>熟悉所</Test>
Source: [ 2 , 16 ] ,X :[ string , 62 , 62 ], XX: [ string , false , 16 , 16 ], YY: [ true , 22 , 16 ]
2 false false false
success

So it appears the returning the XML as naked XML or XMLSerialize as CLOB is problematic, as somewhere along the line DB2 is assuming that the content should be returned with the Window-1252 encoding. Since we are running in node where all strings are UTF-8 the client should esure that XML should be encoded in UTF-8 However it appears that retuning it as BLOB, where the database and client do not negotiate character set works.

Finally I ran the fetchXML.js script from Linux and saw roughly the same results except that the encoding was ISO-8859-1.

root@08c09ec59e37:/usr/src/YADAMU/mnt/work# node fetchXML.js
0 <Test>ASCII</Test> Bytes 18 Chars 18
1 <Test>Jürgen</Test> Bytes 20 Chars 19
2 <Test>熟悉所</Test> Bytes 22 Chars 16
0 <Test>ASCII</Test> <?xml version="1.0" encoding="ISO-8859-1" ?><Test>ASCII</Test> <Test>ASCII</Test> <Test>ASCII</Test>
Source: [ 0 , 18 ] ,X :[ string , 62 , 62 ], XX: [ string , false , 18 , 18 ], YY: [ true , 18 , 18 ]
0 false true false
1 <Test>Jürgen</Test> <?xml version="1.0" encoding="ISO-8859-1" ?><Test>J�rgen</Test> <Test>J�rgen</Test> <Test>Jürgen</Test>
Source: [ 1 , 19 ] ,X :[ string , 63 , 65 ], XX: [ string , false , 19 , 21 ], YY: [ true , 20 , 19 ]
1 false false false
2 <Test>熟悉所</Test> <?xml version="1.0" encoding="ISO-8859-1" ?><Test>⸮⸮⸮</Test> <Test>⸮⸮⸮</Test> <Test>熟悉所</Test>
Source: [ 2 , 16 ] ,X :[ string , 60 , 60 ], XX: [ string , false , 16 , 16 ], YY: [ true , 22 , 16 ]
2 false false false
success
root@08c09ec59e37:/usr/src/YADAMU/mnt/work#

I suspect that the CLOB and XML retrieval may be failing because something is attempting to convert to the default character set for the client. In my opinion this makes no sense from node, since all strings are UTF-8. The node client should ensure that the connection is configured to return all strings as UTF-8.

It appears that I may be able to avoid these issues by sending my XML as BLOB and processing it using XMLParse and returning it as BLOB. Will implement and run regressions.

Looks like the workaround is to insert XML by converting the UTF-8 format string to a Buffer, using Buffer.from(), and then inserting into an XML column by passing the Buffer object as a BLOB and using XMLPARSE(DOCUMENT CAST(? AS BLOB) PRESERVE WHITESPACE) to convert to XML. When reading the XML back use XMLSERIALIZE("' || c."COLNAME" || '" AS BLOB(2G) EXCLUDING XMLDECLARATION) "' to convert the XML into a BLOB, which will return a Buffer object to Javascript. The Buffer can then be converted back to string using Buffer.from().

I still think you need to investigate whether, particularly when working with a UTF-8 database the client should be configured to accept and receive UTF-8 data. It would probably save a lot of conversion when reading and writing strings.

@markddrake Please add process.env.DB2CODEPAGE=1208; just after importing ibm_db or at start of your application. This setting will tell client to return data in UTF-8. Thanks.

@markddrake I would like to relook into this issue. Please let me know that after adding process.env.DB2CODEPAGE=1208; in your test program, do you see any change in behavior or not.

The data retrieved on Windows and Linux are different because default codepage on Windows and Linux are different. When we explicitly set the codepage to 1208, data should be in UTF-8 format. You do not see this change in case of BLOB data, because for binary data, no codepage conversion happens.
If you still see issue, I would suggest to minimize your test program where you insert a row of Chinese text in varchar or clob column and then select it. I would run the same test program with same text to reproduce the problem. Thanks.

Currently I have switched my code to always use BLOB and that appears to have fixed the problem. When all my regression suites have completed and I've checked every-in I can try switching back to CLOB and setting 1208 as you suggested. Just as a thought experiment, and given that my assumption, that internally all string handling in node is UTF-8, wouldn't it be more sensible to make that the default, and allow a developer to override in the case that they have some corner case where it does not make sense, particularly if the database is configured for UTF8. Of course there is a bit of a catch-22 there, you need to set codepage before connecting to the database, but setting the code page may only make sense if the database is UTF-8, which can only be determined after connecting to the database :)

@markddrake Due the catch-22 issue you explained above, we are not setting the process.env.DB2CODEPAGE=1208 in odbc.js file and suggesting users to set it in the application if required.
If database is created using 1208 code page, then no issues, but if database code page is different, then setting 1208 explicitly in ibm_db will cause issue.
Please share the test program once you get time to check it again. Thanks.