trafodion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Birdsall <dave.birds...@esgyn.com>
Subject RE: Info session
Date Mon, 29 Jan 2018 18:04:43 GMT
Hi,

I'd look at buffer[379] and see what's there. That seems to be a UTF-8 character that can't
be mapped to UCS2.

Dave

From: ?? ? [mailto:alex_peng1986@hotmail.com]
Sent: Sunday, January 28, 2018 9:18 PM
To: dev@trafodion.incubator.apache.org
Subject: Info session


did anyone ever encountered the error as followings:



*** ERROR[2109] Invalid Character error converting SQL statement from character set UTF8 to
character set UCS2 (character position 379, byte offset 379). [2018-01-26 10:11:47]



as we checked, LANG=zh_CN.UTF-8 and authentication details as below:

[cid:ac95b784-e819-4839-8315-b1e78ce4c109]

i found the source code for the query in the mxosrvr SrvrConnect::isInfoSession()
SELECT [first 1]"
                    "'%s' as \"SESSION_ID\","
                    "'%s' as \"SERVER_PROCESS_NAME\","
                    "'%s' as \"SERVER_PROCESS_ID\","
                    "'%s' as \"SERVER_HOST\","
                    "'%s' as \"SERVER_PORT\","
                    "'%s' as \"MAPPED_SLA\","
                    "'%s' as \"MAPPED_CONNECT_PROFILE\","
                    "'%s' as \"MAPPED_DISCONNECT_PROFILE\","
                    "'%d' as \"CONNECTED_INTERVAL_SEC\","
                    "'%s' as \"CONNECT_TIME\","
                    "'%s' as \"DATABASE_USER_NAME\","
                    "'%s' as \"USER_NAME\","
                    "'%s' as \"ROLE_NAME\","
                    "'%s' as \"APP_NAME\","
                    "'%s' as \"TENANT_NAME\""

                    "FROM (values(1)) X(A);

then used the sprintf to fill the parameters:
sprintf (buffer, pattern,
      srvrGlobal->sessionId,
      serverProcessName.c_str(),
      serverProcessId.c_str(),
      serverHost.c_str(),
      serverPort.c_str(),
      sla.c_str(),
      connectProfile.c_str(),
      disconnectProfile.c_str(),
      (int)(time(NULL) - connectedTimestamp),
      connecttime,
      srvrGlobal->QSDBUserName,
      srvrGlobal->QSUserName,
      srvrGlobal->QSRoleName,
      appName.c_str(),
      srvrGlobal->tenantName);

i guess maybe some value encode not properly parsed  caused the error. since could not reproduce
yet locally, still checking.


any clue will be appreciated.



Nice Day

Alex

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message