sijms / go-ora

Pure go oracle client
MIT License
807 stars 175 forks source link

Error when reading many records having large field #45

Closed simulot closed 3 years ago

simulot commented 3 years ago

I have found this problem using a copy of production database.

When querying a very simple table using a select * from MY_TABLE , i have a random problem that could be either:

The problem isn't related to the number of records. I'm able to query several million of records. It's more related to the use of NVARCHAR2 with a large enough data.

For debugging purpose, I made a self contained sample to illustrate the problem. This program create a table similar to production:

Name      Null?    Type            
--------- -------- --------------- 
RECNUMBER NOT NULL NUMBER          
LABEL     NOT NULL NVARCHAR2(20)   
TEXT               NVARCHAR2(2000) 

Then it fills the with records having TEXT field as bigger as possible. My database is using AL32UTF8 char set. I think this is what we call UNICODE 32 bits, where each chars is encoded using 32 bits. So 2000 chars makes 4000 bytes.

Like the production application, it generates a long string to be stored into the table, using several records, and uses the maximum of the NVARCHAR2(2000) room.

package main

import (
    "database/sql/driver"
    "fmt"
    "io"
    "os"
    "strconv"
    "strings"

    go_ora "github.com/sijms/go-ora"
)

func exitOnError(err error) {
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
}

const (
    RecordSize = 2000
    TotalSize  = 140000
)

func main() {
    server := os.Getenv("DB_DEV1") + "?TRACE FILE=Trace.log"

    db, err := go_ora.NewConnection(server)
    err = db.Open()
    exitOnError(err)
    defer db.Close()

    err = CreateTable(db, RecordSize)
    exitOnError(err)

    rec := GenerateData(TotalSize, RecordSize)
    err = CreateRecords(db, rec)
    exitOnError(err)

    read, err := GetRecords(db)
    exitOnError(err)

    fmt.Println("Want ", len(rec), "records")
    fmt.Println("Got  ", len(read), "records")

    i := 0
    for i < len(rec) && i < len(read) {
        if rec[i] != read[i] {
            fmt.Println("Records", i, "are different")
            fmt.Println("Want\n", rec[i])
            fmt.Println("Got\n", read[i])
        }
        i++
    }
}

func CreateTable(DB *go_ora.Connection, recordSize int) error {

    stmt := go_ora.NewStmt("drop table TEST_TABLE", DB)
    _, err := stmt.Exec(nil)
    defer stmt.Close()

    stmt = go_ora.NewStmt(`CREATE TABLE TEST_TABLE 
    (
      RECNUMBER NUMBER NOT NULL 
    , LABEL NVARCHAR2(20) NOT NULL 
    , TEXT NVARCHAR2(`+strconv.Itoa(recordSize)+`) 
    )`, DB)
    _, err = stmt.Exec(nil)

    return err
}

func CreateRecords(DB *go_ora.Connection, r []string) error {

    for i, s := range r {

        stmt := go_ora.NewStmt("insert into TEST_TABLE(RECNUMBER,LABEL,TEXT) values (:1,:2,:3)", DB)
        recLabel := fmt.Sprintf("Rec %d", i)

        stmt.AddParam("1", i, 0, go_ora.Input /* or go_ora.Output*/)
        stmt.AddParam("2", recLabel, len(recLabel), go_ora.Input /* or go_ora.Output*/)
        stmt.AddParam("3", s, len(s), go_ora.Input /* or go_ora.Output*/)
        _, err := stmt.Exec(nil)
        if err != nil {
            return err
        }
        stmt.Close()
    }
    fmt.Println("Record ", len(r), "inserted")
    return nil
}

func GetRecords(DB *go_ora.Connection) ([]string, error) {
    ret := []string{}
    stmt := go_ora.NewStmt("select RECNUMBER,LABEL,TEXT from TEST_TABLE order by RECNUMBER", DB)

    rows, err := stmt.Query(nil)
    if err != nil {
        return nil, err
    }

    values := []driver.Value{0, 0, 0}
    for {
        err = rows.Next(values)
        if err != nil {
            break
        }
        ret = append(ret, values[2].(string))
    }

    if err != io.EOF {
        return nil, err
    }
    return ret, nil
}

func GenerateData(length int, sliceOf int) []string {
    s := strings.Builder{}
    i := 0

    for s.Len() < length {
        s.WriteString(fmt.Sprintf("%010d,", i))
        i++
    }

    buf := []byte(s.String())
    ret := []string{}
    for len(buf) > 0 {
        l := len(buf)
        if l > sliceOf {
            l = sliceOf
        }
        ret = append(ret, string(buf[:l]))
        buf = buf[l:]
    }

    return ret
}

The call to GenerateData(140000, 2000) creates a dataset of 140 000 chars, sliced into 2000 chars records.

For those values, the programs fails most of the time, never at the same record.

Record  71 inserted
Want  71 records
Got   65 records
Records 64 are different
Want
 011636,0000011637,0000011638,0000011639,0000011640,0000011641,0000011642,0000011643,0000011644,0000011645,0000011646,0000011647,0000011648,0000011649,0000011650,0000011651,0000011652,0000011653,0000011654,0000011655,0000011656,0000011657,0000011658,0000011659,0000011660,0000011661,0000011662,0000011663,0000011664,0000011665,0000011666,0000011667,0000011668,0000011669,0000011670,0000011671,0000011672,0000011673,0000011674,0000011675,0000011676,0000011677,0000011678,0000011679,0000011680,0000011681,0000011682,0000011683,0000011684,0000011685,0000011686,0000011687,0000011688,0000011689,0000011690,0000011691,0000011692,0000011693,0000011694,0000011695,0000011696,0000011697,0000011698,0000011699,0000011700,0000011701,0000011702,0000011703,0000011704,0000011705,0000011706,0000011707,0000011708,0000011709,0000011710,0000011711,0000011712,0000011713,0000011714,0000011715,0000011716,0000011717,0000011718,0000011719,0000011720,0000011721,0000011722,0000011723,0000011724,0000011725,0000011726,0000011727,0000011728,0000011729,0000011730,0000011731,0000011732,0000011733,0000011734,0000011735,0000011736,0000011737,0000011738,0000011739,0000011740,0000011741,0000011742,0000011743,0000011744,0000011745,0000011746,0000011747,0000011748,0000011749,0000011750,0000011751,0000011752,0000011753,0000011754,0000011755,0000011756,0000011757,0000011758,0000011759,0000011760,0000011761,0000011762,0000011763,0000011764,0000011765,0000011766,0000011767,0000011768,0000011769,0000011770,0000011771,0000011772,0000011773,0000011774,0000011775,0000011776,0000011777,0000011778,0000011779,0000011780,0000011781,0000011782,0000011783,0000011784,0000011785,0000011786,0000011787,0000011788,0000011789,0000011790,0000011791,0000011792,0000011793,0000011794,0000011795,0000011796,0000011797,0000011798,0000011799,0000011800,0000011801,0000011802,0000011803,0000011804,0000011805,0000011806,0000011807,0000011808,0000011809,0000011810,0000011811,0000011812,0000011813,0000011814,0000011815,0000011816,0000011817,00
Got
 011636,0000011637,0000011638,0000011639,0000011640,0000011641,0000011642,0000011643,0000011644,0000011645,0000011646,0000011647,0000011648,0000011649,0000011650,0000011651,0000011652,0000011653,0000011654,0000011655,0000011656,0000011657,000001165  㠀Ⰰ    1＀㄀㘀㔀㤀Ⰰ     ㄀㄀㘀㘀 Ⰰ     ㄀661,0000011662,000001166 Ⰰ     ㄀㄀㘀㘀㐀Ⰰ     ㄀㄀㘀㘀㔀Ⰰ  0011666,0000011667,00000

The table is correct.

sijms commented 3 years ago

I think this is related to string encoding

simulot commented 3 years ago

the error arrives at different record at each run. The funny string  㠀㈀㄀㐀Ⰰ      㠀㈀㄀㔀Ⰰ     seams to be the result of corrupted memory. Other fields of the record are also damaged.

sijms commented 3 years ago

try to change line 1032 at command.go stmt.noOfRowsToFetch = 25 and decrease 25 to 10 or 5 to decrease memory usage

simulot commented 3 years ago

this has some effect. the probability of crash grows with the number of row to be fetched.

10 rows: I haven't seen any problem 13 rows: 1 crash for 10 times 20 rows: 1 / 4 25 rows: 4 / 5 ...

sijms commented 3 years ago

this means as you tell before memory problem i think I need to change the code allowing the user to change noOfRowsToFetch value and if user doesn't change then go to default value 25

simulot commented 3 years ago

This won't fix the root problem.

The problem could depend on something else like a combination of record size and number of row to be fetched.

simulot commented 3 years ago

And 25 rows of 4000 bytes records isn't very lot memory nowadays.

sijms commented 3 years ago

25 * 4000 is the size of the fetching unit still there is size of data in dataSet and network packet

sijms commented 3 years ago

this code

func CreateRecords(DB *go_ora.Connection, r []string) error {

    for i, s := range r {

        stmt := go_ora.NewStmt("insert into TEST_TABLE(RECNUMBER,LABEL,TEXT) values (:1,:2,:3)", DB)
        recLabel := fmt.Sprintf("Rec %d", i)

        stmt.AddParam("1", i, 0, go_ora.Input /* or go_ora.Output*/)
        stmt.AddParam("2", recLabel, len(recLabel), go_ora.Input /* or go_ora.Output*/)
        stmt.AddParam("3", s, len(s), go_ora.Input /* or go_ora.Output*/)
        _, err := stmt.Exec(nil)
        if err != nil {
            return err
        }
        stmt.Close()
    }
    fmt.Println("Record ", len(r), "inserted")
    return nil
}

put the following code outside for

stmt := go_ora.NewStmt("insert into TEST_TABLE(RECNUMBER,LABEL,TEXT) values (:1,:2,:3)", DB)
stmt.AddParam("1", i, 0, go_ora.Input /* or go_ora.Output*/)
stmt.AddParam("2", recLabel, len(recLabel), go_ora.Input /* or go_ora.Output*/)
stmt.AddParam("3", s, len(s), go_ora.Input /* or go_ora.Output*/)

and pass parameter values in stmt.Exec

simulot commented 3 years ago

The code becomes:

func CreateRecords(DB *go_ora.Connection, r []string) error {
    stmt := go_ora.NewStmt("insert into TEST_TABLE(RECNUMBER,LABEL,TEXT) values (:1,:2,:3)", DB)
    defer stmt.Close()

    stmt.AddParam("1", 0, 0, go_ora.Input /* or go_ora.Output*/)
    stmt.AddParam("2", "", 50, go_ora.Input /* or go_ora.Output*/)
    stmt.AddParam("3", "", 4000, go_ora.Input /* or go_ora.Output*/)

    values := make([]driver.Value, 3)
    for i, s := range r {
        values[0] = i
        values[1] = fmt.Sprintf("Rec %d", i)
        values[2] = s
        _, err := stmt.Exec(values)
        if err != nil {
            return err
        }
    }
    fmt.Println("Record ", len(r), "inserted")
    return nil
}

It's effect less. I think the insert loop does it's job correctly. The table is filled correctly, and I can query it using sqldeveloper.

sijms commented 3 years ago

i take your code and execute it and this is the result Screenshot from 2020-12-05 18-11-47-1

sijms commented 3 years ago

run multiple time without any error machine = ubuntu desktop 20 RAM = 8 GB server = oracle 12c

sijms commented 3 years ago

what is the error and in which function the error start ?

simulot commented 3 years ago

The client machine runs Windows 10.

I can use 2 kind of Oracle servers

I ran the the test on both servers. It crashes only when connected to the company's server. It has never failed with my local container. No error is returned. I get fewer records than expected, and the last one is corrupted.

I have compared traces files:

There are some differences at the beginning, because of authentication schema I guess. Then the paquets with insert requests are identical, but server's response to insert are slightly different.

Then come the select packets that are almost identical, except the the last response:

image

Paquet's header is different, then data have 3 bytes more in the entreprise log ...
The trace coming from local server show the "ORA-01403: no data found" at the end, but not the entreprise log...

I guess those 3 bytes are more likely to cause the problem than a memory corruption.

sijms commented 3 years ago

data packet size is 10 bytes not 13 if we will count this 3 bytes it will be inside the data not header

i use it with oracle Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production and get correct results without error

sijms commented 3 years ago

if we agree it is in the data i need to review something it may help

simulot commented 3 years ago

Could you push this code into an other branch on Github? I'll test it with both servers.

sijms commented 3 years ago

can you copy all trace (that give error) after the select statement and send to me I will try to extract the data of the column and use go and debugger to see the error

sijms commented 3 years ago

this 3 bytes is in the middle of the column buffer column buffer is divided into 0xff chunks like this: 1 byte = size = 0xff then come the data with size of 0xff this 3 bytes is come in the middle I need to count the chunk that contain this 3 bytes and confirm it is not abnormally sized

start of the chunk is located at the end of the line 28225 we need to go through the data until the start of next chunk and see size is identical

simulot commented 3 years ago

Here it the log file starting at Select packet Trace_entrepise.log

sijms commented 3 years ago

from my first sight i see the following

00001fa0  00 30 00 30 00 30 00 31  00 32 00 30 00 32 00 33  |.0.0.0.1.2.0.2.3|
00001fb0  00 2c 00 30 00 30 00 30  00 30 00 30 00 31 00 32  |.,.0.0.0.0.0.1.2|
00001fc0  00 30 00 32 00 34 00 2c  00 30 00 30 00 30 00 30  |.0.2.4.,.0.0.0.0|
00001fd0  00 30 00 31 00 32 00 30  00 32 00 00 00 00 35 00 2c  |.............5.,|
00000010  00 30 00 30 00 30 00 30  00 30 00 31 00 32 00 30  |.0.0.0.0.0.1.2.0|
00000020  00 32 00 36 00 2c 00 30  00 30 00 30 00 30 00 30  |.2.6.,.0.0.0.0.0|
00000030  00 31 00 32 00 30 00 32  00 37 00 2c 00 30 00 30  |.1.2.0.2.7.,.0.0|
00000040  00 30 00 30 00 30 00 31  00 32 00 30 00 32 00 38  |.0.0.0.1.2.0.2.8|
00000050  00 2c 00 30 00 30 00 30  00 30 00 30 00 31 00 32  |.,.0.0.0.0.0.1.2|
00000060  00 30 00 32 00 39 00 2c  00 30 00 30 00 30 00 30  |.0.2.9.,.0.0.0.0|
00000070  00 30 00 31 00 32 00 30  00 33 00 30 00 2c 00 30  |.0.1.2.0.3.0.,.0|
00000080  00 30 00 30 00 30 00 30  00 31 00 32 00 30 00 33  |.0.0.0.0.1.2.0.3|
00000090  00 31 00 2c 00 30 00 30  00 30 00 30 00 30 00 31  |.1.,.0.0.0.0.0.1|
000000a0  00 32 00 30 00 33 00 32  00 2c 00 30 00 30 00 30  |.2.0.3.2.,.0.0.0|
000000b0  00 30 00 30 00 31 00 32  00 30 00 33 00 33 00 2c  |.0.0.1.2.0.3.3.,|
000000c0  00 30 00 30 00 30 00 30  00 30 00 31 00 32 00 30  |.0.0.0.0.0.1.2.0|
000000d0  00 ff

data size is not correct the size should be 0xFF and here there is extra 3 bytes one at line 4 and 2 at the end

the other possibility is that the data packet is more than 10 byte and if so why the previous data packet is 10 and this packet only is 13

sijms commented 3 years ago

is the table show data correctly with sql developer?

simulot commented 3 years ago

Apparently, this correct in sql developer. Attached the query result ...

simulot commented 3 years ago

Sorry, here is the query result: select.txt

sijms commented 3 years ago

I review the code and everything is correct may be this related to new oracle version and batch update I will install latest version of oracle 19c and try to produce the error and find the solution

simulot commented 3 years ago

Thanks a lot.

sijms commented 3 years ago

last oracle version: "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0"

success all record inserted and all record retrieved

simulot commented 3 years ago

Annoying...

On my side, I'll try following:

Also, I'm thinking about enabling unit tests in GO-ORA that aren't dependent on live oracle connection. The idea is to be able to work on something at low level and check if this still work for various samples. But this hard to implement after the fact.

sijms commented 3 years ago

try use c# dot net driver easy odp.net use jetbrain dotpeek to decompile

sijms commented 3 years ago

you can easily use wireshark and capture packet during select statement of sql developer and see

may bee error happen and sql developer send some re-execute to solve the problem

simulot commented 3 years ago

By curiosity, I have compiled the test code on my win10 laptop, and tested the exe.

On the laptop, I get 9 issues out of 10 tests, as before. I have copied the same EXE to a test server in the entreprise infrastructure, and it works all the time, at least for 20 times.

I have compared success logs files and they are almost identical.

When I get an error on the laptop, the error come at different records. It could be 38th records like 48th.... The frame giving the error has always 3 additional 0 bytes at the beginning.

So I have installed Wireshark. I'm surprised to be allowed to do that. I have ran the text exe program. I'm not an expert of tcp analysis, but I can see that extra bytes are coming from the network.

Here is the test output with the last correct number in the record 0008213 image

and the frame containing 00008213 image

the next frame contains extra 00 image

So extra bytes are delivered by the network.

Do you have an idea how spotting re-send or error checking done by Sqldeveloper?

sijms commented 3 years ago

does sql developer will give same extra 3-bytes when run select statement (Wireshark packet)

simulot commented 3 years ago

I don't know yet. It's difficult to find the interesting packet when you don't know if the problem occurs, and when

sijms commented 3 years ago

actually i do test in all oracle versions using all platform windows, linux and macos no error happen even one time. I don't use oracle 11.2.0.4 but i don't think it will differ or may be there is bug related to this update

simulot commented 3 years ago

I did some progress with wireshark. I have found the extra 0 pattern in SQL developer capture, and in capture with my test program not having the problem.

When looking in details of exemple above, I'm pretty sure the extra zero is just here because of AL32 encoding. Depending how data is chunked, the first byte could be 00 or not.

rodrigoodhin commented 3 years ago

HI All,

I had the same problem to retrieve big field info from database. My query return only one record with only one field but this field contains a big XML. I've changed for a small field and returns without problem.

As you can see in trace log, my XML is there.

TRACE LOG:

2020-12-16T13:57:59.5375: Read packet: 00000000 00 0b 00 00 0c 00 00 00 01 00 01 |...........| 2020-12-16T13:57:59.5376: Read packet: 00000000 00 0b 00 00 0c 00 00 00 01 00 02 |...........| 2020-12-16T13:57:59.5376: Write packet: 00000000 00 0b 00 00 0c 00 00 00 01 00 02 |...........| 2020-12-16T13:57:59.5698: Read packet: 00000000 00 74 00 00 06 00 00 00 00 00 04 01 01 01 05 00 |.t..............| 00000010 02 0c 41 00 00 00 00 00 00 00 00 00 00 00 00 00 |..A.............| 00000020 00 00 00 00 00 01 01 00 00 00 00 00 47 4f 52 41 |............GORA| 00000030 2d 30 33 31 33 37 3a 20 54 54 43 20 70 72 6f 74 |-03137: TTC prot| 00000040 6f 63 6f 6c 20 69 6e 74 65 72 6e 61 6c 20 65 72 |ocol internal er| 00000050 72 6f 72 20 3a 20 5b 31 32 32 30 39 5d 20 5b 30 |ror : [12209] [0| 00000060 5d 20 5b 5d 20 5b 5d 20 5b 5d 20 5b 5d 20 5b 5d |] [] [] [] [] []| 00000070 20 5b 5d 0a | [].| 2020-12-16T13:57:59.5699: Prepare SELECT EVENT FROM WMS17.OUTWARD_GEN_EVENTS WHERE USER_ID = 'autoqa01' AND EVENT LIKE :1 ORDER BY EVENT_THROWN_TIME DESC FETCH NEXT 1 ROWS ONLY 2020-12-16T13:57:59.5700: Query: SELECT EVENT FROM WMS17.OUTWARD_GEN_EVENTS WHERE USER_ID = 'autoqa01' AND EVENT LIKE :1 ORDER BY EVENT_THROWN_TIME DESC FETCH NEXT 1 ROWS ONLY 2020-12-16T13:57:59.5701: Write packet: 00000000 01 15 00 00 06 00 00 00 00 00 03 5e 00 02 80 29 |...........^...)| 00000010 00 01 01 8e 01 01 0d 00 00 00 01 19 04 7f ff ff |................| 00000020 ff 01 01 01 00 00 00 00 00 00 00 00 00 01 00 00 |................| 00000030 00 00 00 53 45 4c 45 43 54 20 45 56 45 4e 54 20 |...SELECT EVENT | 00000040 46 52 4f 4d 20 57 4d 53 31 37 2e 4f 55 54 57 41 |FROM WMS17.OUTWA| 00000050 52 44 5f 47 45 4e 5f 45 56 45 4e 54 53 20 57 48 |RD_GEN_EVENTS WH| 00000060 45 52 45 20 55 53 45 52 5f 49 44 20 3d 20 27 61 |ERE USER_ID = 'a| 00000070 75 74 6f 71 61 30 31 27 20 41 4e 44 20 45 56 45 |utoqa01' AND EVE| 00000080 4e 54 20 4c 49 4b 45 20 3a 31 20 4f 52 44 45 52 |NT LIKE :1 ORDER| 00000090 20 42 59 20 45 56 45 4e 54 5f 54 48 52 4f 57 4e | BY EVENT_THROWN| 000000a0 5f 54 49 4d 45 20 44 45 53 43 20 46 45 54 43 48 |_TIME DESC FETCH| 000000b0 20 4e 45 58 54 20 31 20 52 4f 57 53 20 4f 4e 4c | NEXT 1 ROWS ONL| 000000c0 59 01 01 00 00 00 00 00 00 01 01 00 00 00 00 00 |Y...............| 000000d0 01 03 00 00 01 c8 00 01 10 00 00 02 03 67 01 01 |.............g..| 000000e0 32 07 32 25 3c 70 72 6f 70 65 72 74 79 20 6e 61 |2.2%<property na| 000000f0 6d 65 3d 5f 54 43 5f 4f 52 44 45 52 5f 49 44 5f |me=_TC_ORDERID| 00000100 20 76 61 6c 75 65 3d 5f 51 41 30 30 33 33 37 38 | value=QA003378| 00000110 5f 20 2f 3e 25 | />%| 2020-12-16T13:57:59.5902: Read packet: 00000000 00 89 00 00 06 00 00 00 00 00 10 17 09 96 44 f6 |..............D.| 00000010 b6 cf a3 d5 e1 f6 e6 e7 ee ca bf d3 78 78 0c 0f |............xx..| 00000020 0b 3a 38 00 01 01 51 70 80 00 00 02 0f a0 00 00 |.:8...Qp........| 00000030 00 00 02 03 69 01 00 01 05 01 05 05 45 56 45 4e |....i.......EVEN| 00000040 54 00 00 00 00 01 07 07 78 78 0c 10 0e 3a 3c 00 |T.......xx...:<.| 00000050 02 1f e8 00 00 00 08 01 06 04 8a af ee a2 01 02 |................| 00000060 01 02 00 00 00 00 00 00 04 01 01 01 06 00 00 00 |................| 00000070 00 01 02 00 03 00 00 00 00 00 00 00 00 00 00 00 |................| 00000080 00 00 00 01 01 00 00 00 00 |.........| 2020-12-16T13:57:59.5903: Summary: RetCode:0, Error Message:"" 2020-12-16T13:57:59.5903: Write packet: 00000000 00 11 00 00 06 00 00 00 00 00 03 05 00 01 02 01 |................| 00000010 19 |.| 2020-12-16T13:57:59.9464: Read packet: 00000000 00 ab 00 00 06 00 00 00 00 00 06 22 01 01 00 01 |..........."....| 00000010 19 00 00 00 07 01 56 56 00 54 00 01 02 0c 80 00 |......VV.T......| 00000020 00 02 00 00 00 01 00 00 02 9d 63 b2 00 0a ee f4 |..........c.....| 00000030 00 0a ee f3 00 03 00 03 03 69 00 03 0c 40 7c 33 |.........i...@|3| 00000040 14 80 24 14 00 6c 00 00 00 00 00 00 8a af ee a2 |..$..l..........| 00000050 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000060 00 00 00 00 00 0a ee f3 14 80 0a d3 00 03 04 01 |................| 00000070 01 01 07 01 01 02 05 7b 00 00 01 02 00 03 00 00 |.......{........| 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000090 00 19 4f 52 41 2d 30 31 34 30 33 3a 20 6e 6f 20 |..ORA-01403: no | 000000a0 64 61 74 61 20 66 6f 75 6e 64 0a |data found.| 2020-12-16T13:57:59.9466: Write packet: 00000000 00 7b 00 00 06 00 00 00 00 00 03 60 00 01 01 56 |.{............V| 00000010 00 00 00 00 00 00 00 01 01 00 00 00 00 01 00 00 |................| 00000020 00 00 00 00 00 54 00 01 02 0c 80 00 00 02 00 00 |.....T..........| 00000030 00 01 00 00 02 9d 63 b2 00 0a ee f4 00 0a ee f3 |......c.........| 00000040 00 03 00 03 03 69 00 03 0c 40 7c 33 14 80 24 14 |.....i...@|3..$.| 00000050 00 6c 00 00 00 00 00 00 8a af ee a2 00 02 00 00 |.l..............| 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 00 0a ee f3 14 80 0a d3 00 03 00 |...........| 2020-12-16T13:57:59.9631: Read packet: 00000000 00 83 00 00 06 00 00 00 00 00 08 00 54 00 01 02 |............T...| 00000010 0c 80 00 00 02 00 00 00 01 00 00 02 9d 63 b2 00 |.............c..| 00000020 0a ee f4 00 0a ee f3 00 03 00 03 03 69 00 03 0c |............i...| 00000030 40 7c 33 14 80 24 14 00 6c 00 00 00 00 00 00 8a |@|3..$..l.......| 00000040 af ee a2 00 02 00 00 00 00 00 00 00 00 00 00 00 |................| 00000050 00 00 00 00 00 00 00 00 0a ee f3 14 80 0a d3 00 |................| 00000060 03 02 0e a4 04 01 01 01 08 00 00 00 00 00 00 00 |................| 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000080 00 00 00 |...| 2020-12-16T13:57:59.9633: Write packet: 00000000 00 7e 00 00 06 00 00 00 00 00 03 60 00 01 01 56 |.~............V| 00000010 00 00 00 00 00 00 00 01 02 00 00 01 01 00 01 00 |................| 00000020 00 00 00 00 00 00 54 00 01 02 0c 80 00 00 02 00 |......T.........| 00000030 00 00 01 00 00 02 9d 63 b2 00 0a ee f4 00 0a ee |.......c........| 00000040 f3 00 03 00 03 03 69 00 03 0c 40 7c 33 14 80 24 |......i...@|3..$| 00000050 14 00 6c 00 00 00 00 00 00 8a af ee a2 00 02 00 |..l.............| 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000070 00 00 0a ee f3 14 80 0a d3 00 03 02 0e a4 |..............| 2020-12-16T13:57:59.9867: Read packet: 00000000 1d ec 00 00 06 00 00 00 00 00 0e fe ff 00 3c 00 |..............<.| 00000010 3f 00 78 00 6d 00 6c 00 20 00 76 00 65 00 72 00 |?.x.m.l. .v.e.r.| 00000020 73 00 69 00 6f 00 6e 00 3d 00 22 00 31 00 2e 00 |s.i.o.n.=.".1...| 00000030 30 00 22 00 20 00 65 00 6e 00 63 00 6f 00 64 00 |0.". .e.n.c.o.d.| 00000040 69 00 6e 00 67 00 3d 00 22 00 55 00 54 00 46 00 |i.n.g.=.".U.T.F.| 00000050 2d 00 38 00 22 00 3f 00 3e 00 0d 00 0a 00 3c 00 |-.8.".?.>.....<.| 00000060 65 00 76 00 65 00 6e 00 74 00 3e 00 0d 00 0a 00 |e.v.e.n.t.>.....| 00000070 20 00 20 00 3c 00 65 00 76 00 65 00 6e 00 74 00 | . .<.e.v.e.n.t.| 00000080 5f 00 68 00 65 00 61 00 64 00 65 00 72 00 3e 00 |.h.e.a.d.e.r.>.| 00000090 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 45 00 |.... . . . .<.E.| 000000a0 56 00 45 00 4e 00 54 00 5f 00 49 00 44 00 3e 00 |V.E.N.T..I.D.>.| 000000b0 39 00 30 00 30 00 36 00 35 00 3c 00 2f 00 45 00 |9.0.0.6.5.<./.E.| 000000c0 56 00 45 00 4e 00 54 00 5f 00 49 00 44 00 3e 00 |V.E.N.T..I.D.>.| 000000d0 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 45 00 |.... . . . .<.E.| 000000e0 56 00 45 00 4e 00 54 00 5f 00 4e 00 41 00 4d 00 |V.E.N.T..N.A.M.| 000000f0 45 00 3e 00 4f 00 72 00 64 00 65 00 72 00 20 00 |E.>.O.r.d.e.r. .| 00000100 69 00 6e 00 76 00 6f 00 69 00 63 00 ff 65 00 64 |i.n.v.o.i.c..e.d| 00000110 00 3c 00 2f 00 45 00 56 00 45 00 4e 00 54 00 5f |.<./.E.V.E.N.T.| 00000120 00 4e 00 41 00 4d 00 45 00 3e 00 0d 00 0a 00 20 |.N.A.M.E.>..... | 00000130 00 20 00 20 00 20 00 3c 00 53 00 4f 00 55 00 52 |. . . .<.S.O.U.R| 00000140 00 43 00 45 00 5f 00 43 00 4c 00 41 00 53 00 53 |.C.E..C.L.A.S.S| 00000150 00 3e 00 53 00 4f 00 41 00 45 00 76 00 65 00 6e |.>.S.O.A.E.v.e.n| 00000160 00 74 00 53 00 65 00 72 00 76 00 69 00 63 00 65 |.t.S.e.r.v.i.c.e| 00000170 00 73 00 3c 00 2f 00 53 00 4f 00 55 00 52 00 43 |.s.<./.S.O.U.R.C| 00000180 00 45 00 5f 00 43 00 4c 00 41 00 53 00 53 00 3e |.E..C.L.A.S.S.>| 00000190 00 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 53 |..... . . . .<.S| 000001a0 00 4f 00 55 00 52 00 43 00 45 00 5f 00 4d 00 45 |.O.U.R.C.E..M.E| 000001b0 00 54 00 48 00 4f 00 44 00 3e 00 66 00 69 00 72 |.T.H.O.D.>.f.i.r| 000001c0 00 65 00 65 00 76 00 65 00 6e 00 74 00 3c 00 2f |.e.e.v.e.n.t.<./| 000001d0 00 53 00 4f 00 55 00 52 00 43 00 45 00 5f 00 4d |.S.O.U.R.C.E..M| 000001e0 00 45 00 54 00 48 00 4f 00 44 00 3e 00 0d 00 0a |.E.T.H.O.D.>....| 000001f0 00 20 00 20 00 20 00 20 00 3c 00 4c 00 4f 00 47 |. . . . .<.L.O.G| 00000200 00 49 00 4e 00 5f 00 49 00 44 00 3e ff 00 61 00 |.I.N..I.D.>..a.| 00000210 75 00 74 00 6f 00 71 00 61 00 30 00 31 00 3c 00 |u.t.o.q.a.0.1.<.| 00000220 2f 00 4c 00 4f 00 47 00 49 00 4e 00 5f 00 49 00 |/.L.O.G.I.N..I.| 00000230 44 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 |D.>..... . . . .| 00000240 3c 00 57 00 48 00 53 00 45 00 3e 00 30 00 31 00 |<.W.H.S.E.>.0.1.| 00000250 3c 00 2f 00 57 00 48 00 53 00 45 00 3e 00 0d 00 |<./.W.H.S.E.>...| 00000260 0a 00 20 00 20 00 20 00 20 00 3c 00 43 00 4f 00 |.. . . . .<.C.O.| 00000270 4d 00 50 00 41 00 4e 00 59 00 3e 00 57 00 4f 00 |M.P.A.N.Y.>.W.O.| 00000280 52 00 54 00 45 00 4e 00 20 00 45 00 51 00 55 00 |R.T.E.N. .E.Q.U.| 00000290 49 00 50 00 2e 00 50 00 2f 00 4c 00 41 00 52 00 |I.P...P./.L.A.R.| 000002a0 20 00 53 00 41 00 3c 00 2f 00 43 00 4f 00 4d 00 | .S.A.<./.C.O.M.| 000002b0 50 00 41 00 4e 00 59 00 3e 00 0d 00 0a 00 20 00 |P.A.N.Y.>..... .| 000002c0 20 00 20 00 20 00 3c 00 45 00 56 00 45 00 4e 00 | . . .<.E.V.E.N.| 000002d0 54 00 5f 00 54 00 48 00 52 00 4f 00 57 00 4e 00 |T..T.H.R.O.W.N.| 000002e0 5f 00 54 00 49 00 4d 00 45 00 53 00 54 00 41 00 |.T.I.M.E.S.T.A.| 000002f0 4d 00 50 00 3e 00 32 00 30 00 32 00 30 00 2d 00 |M.P.>.2.0.2.0.-.| 00000300 31 00 32 00 2d 00 31 00 34 00 20 00 ff 31 00 36 |1.2.-.1.4. ..1.6| 00000310 00 3a 00 35 00 37 00 3a 00 34 00 30 00 2e 00 39 |.:.5.7.:.4.0...9| 00000320 00 36 00 3c 00 2f 00 45 00 56 00 45 00 4e 00 54 |.6.<./.E.V.E.N.T| 00000330 00 5f 00 54 00 48 00 52 00 4f 00 57 00 4e 00 5f |..T.H.R.O.W.N.| 00000340 00 54 00 49 00 4d 00 45 00 53 00 54 00 41 00 4d |.T.I.M.E.S.T.A.M| 00000350 00 50 00 3e 00 0d 00 0a 00 20 00 20 00 3c 00 2f |.P.>..... . .<./| 00000360 00 65 00 76 00 65 00 6e 00 74 00 5f 00 68 00 65 |.e.v.e.n.t..h.e| 00000370 00 61 00 64 00 65 00 72 00 3e 00 0d 00 0a 00 20 |.a.d.e.r.>..... | 00000380 00 20 00 3c 00 65 00 76 00 65 00 6e 00 74 00 5f |. .<.e.v.e.n.t.| 00000390 00 64 00 65 00 74 00 61 00 69 00 6c 00 73 00 3e |.d.e.t.a.i.l.s.>| 000003a0 00 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 68 |..... . . . .<.h| 000003b0 00 65 00 61 00 64 00 65 00 72 00 3e 00 0d 00 0a |.e.a.d.e.r.>....| 000003c0 00 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 |. . . . . . .<.p| 000003d0 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 |.r.o.p.e.r.t.y. | 000003e0 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 44 00 5f |.n.a.m.e.=.".D.| 000003f0 00 43 00 4f 00 55 00 4e 00 54 00 52 00 59 00 5f |.C.O.U.N.T.R.Y.| 00000400 00 43 00 4f 00 44 00 45 00 22 00 20 ff 00 76 00 |.C.O.D.E.". ..v.| 00000410 61 00 6c 00 75 00 65 00 3d 00 22 00 50 00 54 00 |a.l.u.e.=.".P.T.| 00000420 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00000430 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 | . . . .<.p.r.o.| 00000440 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 |p.e.r.t.y. .n.a.| 00000450 6d 00 65 00 3d 00 22 00 54 00 43 00 5f 00 43 00 |m.e.=.".T.C..C.| 00000460 4f 00 4d 00 50 00 41 00 4e 00 59 00 5f 00 49 00 |O.M.P.A.N.Y..I.| 00000470 44 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 |D.". .v.a.l.u.e.| 00000480 3d 00 22 00 31 00 22 00 20 00 2f 00 3e 00 0d 00 |=.".1.". ./.>...| 00000490 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 |.. . . . . . .<.| 000004a0 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 |p.r.o.p.e.r.t.y.| 000004b0 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 44 00 | .n.a.m.e.=.".D.| 000004c0 53 00 47 00 5f 00 53 00 48 00 49 00 50 00 5f 00 |S.G..S.H.I.P..| 000004d0 56 00 49 00 41 00 22 00 20 00 76 00 61 00 6c 00 |V.I.A.". .v.a.l.| 000004e0 75 00 65 00 3d 00 22 00 43 00 48 00 48 00 44 00 |u.e.=.".C.H.H.D.| 000004f0 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00000500 20 00 20 00 20 00 20 00 3c 00 70 00 ff 72 00 6f | . . . .<.p..r.o| 00000510 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 |.p.e.r.t.y. .n.a| 00000520 00 6d 00 65 00 3d 00 22 00 52 00 45 00 46 00 5f |.m.e.=.".R.E.F.| 00000530 00 4e 00 55 00 4d 00 33 00 22 00 20 00 76 00 61 |.N.U.M.3.". .v.a| 00000540 00 6c 00 75 00 65 00 3d 00 22 00 32 00 22 00 20 |.l.u.e.=.".2.". | 00000550 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 |./.>..... . . . | 00000560 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 |. . .<.p.r.o.p.e| 00000570 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 |.r.t.y. .n.a.m.e| 00000580 00 3d 00 22 00 54 00 43 00 5f 00 4f 00 52 00 44 |.=.".T.C..O.R.D| 00000590 00 45 00 52 00 5f 00 49 00 44 00 22 00 20 00 76 |.E.R..I.D.". .v| 000005a0 00 61 00 6c 00 75 00 65 00 3d 00 22 00 51 00 41 |.a.l.u.e.=.".Q.A| 000005b0 00 30 00 30 00 33 00 33 00 37 00 38 00 22 00 20 |.0.0.3.3.7.8.". | 000005c0 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 |./.>..... . . . | 000005d0 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 |. . .<.p.r.o.p.e| 000005e0 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 |.r.t.y. .n.a.m.e| 000005f0 00 3d 00 22 00 44 00 5f 00 46 00 41 00 43 00 49 |.=.".D..F.A.C.I| 00000600 00 4c 00 49 00 54 00 59 00 5f 00 41 ff 00 4c 00 |.L.I.T.Y..A..L.| 00000610 49 00 41 00 53 00 5f 00 49 00 44 00 22 00 20 00 |I.A.S..I.D.". .| 00000620 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 31 00 |v.a.l.u.e.=.".1.| 00000630 34 00 36 00 30 00 22 00 20 00 2f 00 3e 00 0d 00 |4.6.0.". ./.>...| 00000640 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 |.. . . . . . .<.| 00000650 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 |p.r.o.p.e.r.t.y.| 00000660 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 50 00 | .n.a.m.e.=.".P.| 00000670 55 00 52 00 43 00 48 00 41 00 53 00 45 00 5f 00 |U.R.C.H.A.S.E..| 00000680 4f 00 52 00 44 00 45 00 52 00 5f 00 4e 00 55 00 |O.R.D.E.R..N.U.| 00000690 4d 00 42 00 45 00 52 00 22 00 20 00 76 00 61 00 |M.B.E.R.". .v.a.| 000006a0 6c 00 75 00 65 00 3d 00 22 00 22 00 20 00 2f 00 |l.u.e.=.".". ./.| 000006b0 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 |>..... . . . .<.| 000006c0 2f 00 68 00 65 00 61 00 64 00 65 00 72 00 3e 00 |/.h.e.a.d.e.r.>.| 000006d0 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 64 00 |.... . . . .<.d.| 000006e0 65 00 74 00 61 00 69 00 6c 00 3e 00 0d 00 0a 00 |e.t.a.i.l.>.....| 000006f0 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 | . . . . . .<.p.| 00000700 72 00 6f 00 70 00 65 00 72 00 74 00 ff 79 00 20 |r.o.p.e.r.t..y. | 00000710 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 53 00 52 |.n.a.m.e.=.".S.R| 00000720 00 4c 00 5f 00 4e 00 42 00 52 00 22 00 20 00 76 |.L..N.B.R.". .v| 00000730 00 61 00 6c 00 75 00 65 00 3d 00 22 00 22 00 20 |.a.l.u.e.=.".". | 00000740 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 |./.>..... . . . | 00000750 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 |. . .<.p.r.o.p.e| 00000760 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 |.r.t.y. .n.a.m.e| 00000770 00 3d 00 22 00 47 00 54 00 49 00 4e 00 22 00 20 |.=.".G.T.I.N.". | 00000780 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 35 |.v.a.l.u.e.=.".5| 00000790 00 36 00 30 00 31 00 39 00 38 00 38 00 30 00 38 |.6.0.1.9.8.8.0.8| 000007a0 00 39 00 31 00 34 00 35 00 22 00 20 00 2f 00 3e |.9.1.4.5.". ./.>| 000007b0 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 |..... . . . . . | 000007c0 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 |.<.p.r.o.p.e.r.t| 000007d0 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 |.y. .n.a.m.e.=."| 000007e0 00 49 00 54 00 45 00 4d 00 5f 00 42 00 41 00 52 |.I.T.E.M..B.A.R| 000007f0 00 5f 00 43 00 4f 00 44 00 45 00 22 00 20 00 76 |..C.O.D.E.". .v| 00000800 00 61 00 6c 00 75 00 65 00 3d 00 22 ff 00 35 00 |.a.l.u.e.=."..5.| 00000810 36 00 30 00 31 00 39 00 38 00 38 00 30 00 38 00 |6.0.1.9.8.8.0.8.| 00000820 39 00 31 00 34 00 35 00 22 00 20 00 2f 00 3e 00 |9.1.4.5.". ./.>.| 00000830 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 00000840 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00000850 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 |y. .n.a.m.e.=.".| 00000860 4f 00 4d 00 53 00 5f 00 4c 00 49 00 4e 00 45 00 |O.M.S..L.I.N.E.| 00000870 5f 00 4e 00 55 00 4d 00 42 00 45 00 52 00 22 00 |.N.U.M.B.E.R.".| 00000880 20 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 | .v.a.l.u.e.=.".| 00000890 61 00 31 00 65 00 31 00 36 00 66 00 31 00 34 00 |a.1.e.1.6.f.1.4.| 000008a0 2d 00 66 00 31 00 30 00 32 00 2d 00 31 00 31 00 |-.f.1.0.2.-.1.1.| 000008b0 65 00 61 00 2d 00 61 00 39 00 33 00 36 00 2d 00 |e.a.-.a.9.3.6.-.| 000008c0 64 00 62 00 66 00 35 00 31 00 38 00 63 00 38 00 |d.b.f.5.1.8.c.8.| 000008d0 32 00 65 00 61 00 37 00 22 00 20 00 2f 00 3e 00 |2.e.a.7.". ./.>.| 000008e0 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 000008f0 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00000900 79 00 20 00 6e 00 61 00 6d 00 65 00 ff 3d 00 22 |y. .n.a.m.e..=."| 00000910 00 4c 00 41 00 53 00 54 00 5f 00 55 00 50 00 44 |.L.A.S.T..U.P.D| 00000920 00 41 00 54 00 45 00 44 00 5f 00 53 00 4f 00 55 |.A.T.E.D..S.O.U| 00000930 00 52 00 43 00 45 00 22 00 20 00 76 00 61 00 6c |.R.C.E.". .v.a.l| 00000940 00 75 00 65 00 3d 00 22 00 61 00 75 00 74 00 6f |.u.e.=.".a.u.t.o| 00000950 00 71 00 61 00 30 00 31 00 22 00 20 00 2f 00 3e |.q.a.0.1.". ./.>| 00000960 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 |..... . . . . . | 00000970 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 |.<.p.r.o.p.e.r.t| 00000980 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 |.y. .n.a.m.e.=."| 00000990 00 52 00 45 00 46 00 5f 00 4e 00 55 00 4d 00 35 |.R.E.F..N.U.M.5| 000009a0 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d |.". .v.a.l.u.e.=| 000009b0 00 22 00 30 00 22 00 20 00 2f 00 3e 00 0d 00 0a |.".0.". ./.>....| 000009c0 00 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 |. . . . . . .<.p| 000009d0 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 |.r.o.p.e.r.t.y. | 000009e0 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 49 00 4d |.n.a.m.e.=.".I.M| 000009f0 00 45 00 49 00 22 00 20 00 76 00 61 00 6c 00 75 |.E.I.". .v.a.l.u| 00000a00 00 65 00 3d 00 22 00 22 00 20 00 2f ff 00 3e 00 |.e.=.".". ./..>.| 00000a10 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 00000a20 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00000a30 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 |y. .n.a.m.e.=.".| 00000a40 50 00 55 00 52 00 43 00 48 00 41 00 53 00 45 00 |P.U.R.C.H.A.S.E.| 00000a50 5f 00 4f 00 52 00 44 00 45 00 52 00 5f 00 4c 00 |.O.R.D.E.R..L.| 00000a60 49 00 4e 00 45 00 5f 00 4e 00 55 00 4d 00 42 00 |I.N.E..N.U.M.B.| 00000a70 45 00 52 00 22 00 20 00 76 00 61 00 6c 00 75 00 |E.R.". .v.a.l.u.| 00000a80 65 00 3d 00 22 00 32 00 22 00 20 00 2f 00 3e 00 |e.=.".2.". ./.>.| 00000a90 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 00000aa0 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00000ab0 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 |y. .n.a.m.e.=.".| 00000ac0 54 00 52 00 41 00 43 00 4b 00 49 00 4e 00 47 00 |T.R.A.C.K.I.N.G.| 00000ad0 5f 00 4e 00 42 00 52 00 22 00 20 00 76 00 61 00 |.N.B.R.". .v.a.| 00000ae0 6c 00 75 00 65 00 3d 00 22 00 22 00 20 00 2f 00 |l.u.e.=.".". ./.| 00000af0 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 |>..... . . . . .| 00000b00 20 00 3c 00 70 00 72 00 6f 00 70 00 ff 65 00 72 | .<.p.r.o.p..e.r| 00000b10 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d |.t.y. .n.a.m.e.=| 00000b20 00 22 00 54 00 43 00 5f 00 4c 00 50 00 4e 00 5f |.".T.C..L.P.N.| 00000b30 00 49 00 44 00 22 00 20 00 76 00 61 00 6c 00 75 |.I.D.". .v.a.l.u| 00000b40 00 65 00 3d 00 22 00 32 00 35 00 36 00 30 00 31 |.e.=.".2.5.6.0.1| 00000b50 00 39 00 38 00 38 00 30 00 30 00 32 00 35 00 35 |.9.8.8.0.0.2.5.5| 00000b60 00 30 00 37 00 32 00 38 00 34 00 22 00 20 00 2f |.0.7.2.8.4.". ./| 00000b70 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 |.>..... . . . . | 00000b80 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 |. .<.p.r.o.p.e.r| 00000b90 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d |.t.y. .n.a.m.e.=| 00000ba0 00 22 00 54 00 43 00 5f 00 4f 00 52 00 44 00 45 |.".T.C..O.R.D.E| 00000bb0 00 52 00 5f 00 4c 00 49 00 4e 00 45 00 5f 00 49 |.R..L.I.N.E..I| 00000bc0 00 44 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 |.D.". .v.a.l.u.e| 00000bd0 00 3d 00 22 00 31 00 22 00 20 00 2f 00 3e 00 0d |.=.".1.". ./.>..| 00000be0 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c |... . . . . . .<| 00000bf0 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 |.p.r.o.p.e.r.t.y| 00000c00 00 20 00 6e 00 61 00 6d 00 65 00 3d ff 00 22 00 |. .n.a.m.e.=..".| 00000c10 49 00 54 00 45 00 4d 00 5f 00 4e 00 41 00 4d 00 |I.T.E.M..N.A.M.| 00000c20 45 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 |E.". .v.a.l.u.e.| 00000c30 3d 00 22 00 35 00 31 00 30 00 32 00 36 00 33 00 |=.".5.1.0.2.6.3.| 00000c40 38 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 |8.". ./.>..... .| 00000c50 20 00 20 00 20 00 3c 00 2f 00 64 00 65 00 74 00 | . . .<./.d.e.t.| 00000c60 61 00 69 00 6c 00 3e 00 0d 00 0a 00 20 00 20 00 |a.i.l.>..... . .| 00000c70 20 00 20 00 3c 00 64 00 65 00 74 00 61 00 69 00 | . .<.d.e.t.a.i.| 00000c80 6c 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 |l.>..... . . . .| 00000c90 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 | . .<.p.r.o.p.e.| 00000ca0 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 |r.t.y. .n.a.m.e.| 00000cb0 3d 00 22 00 53 00 52 00 4c 00 5f 00 4e 00 42 00 |=.".S.R.L..N.B.| 00000cc0 52 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 |R.". .v.a.l.u.e.| 00000cd0 3d 00 22 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 |=.".". ./.>.....| 00000ce0 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 | . . . . . .<.p.| 00000cf0 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 |r.o.p.e.r.t.y. .| 00000d00 6e 00 61 00 6d 00 65 00 3d 00 22 00 ff 47 00 54 |n.a.m.e.=."..G.T| 00000d10 00 49 00 4e 00 22 00 20 00 76 00 61 00 6c 00 75 |.I.N.". .v.a.l.u| 00000d20 00 65 00 3d 00 22 00 35 00 36 00 30 00 31 00 39 |.e.=.".5.6.0.1.9| 00000d30 00 38 00 38 00 30 00 38 00 39 00 31 00 34 00 35 |.8.8.0.8.9.1.4.5| 00000d40 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 |.". ./.>..... . | 00000d50 00 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f |. . . . .<.p.r.o| 00000d60 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 |.p.e.r.t.y. .n.a| 00000d70 00 6d 00 65 00 3d 00 22 00 49 00 54 00 45 00 4d |.m.e.=.".I.T.E.M| 00000d80 00 5f 00 42 00 41 00 52 00 5f 00 43 00 4f 00 44 |..B.A.R..C.O.D| 00000d90 00 45 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 |.E.". .v.a.l.u.e| 00000da0 00 3d 00 22 00 35 00 36 00 30 00 31 00 39 00 38 |.=.".5.6.0.1.9.8| 00000db0 00 38 00 30 00 38 00 39 00 31 00 34 00 35 00 22 |.8.0.8.9.1.4.5."| 00000dc0 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 |. ./.>..... . . | 00000dd0 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 |. . . .<.p.r.o.p| 00000de0 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 00000df0 00 65 00 3d 00 22 00 4f 00 4d 00 53 00 5f 00 4c |.e.=.".O.M.S..L| 00000e00 00 49 00 4e 00 45 00 5f 00 4e 00 55 ff 00 4d 00 |.I.N.E..N.U..M.| 00000e10 42 00 45 00 52 00 22 00 20 00 76 00 61 00 6c 00 |B.E.R.". .v.a.l.| 00000e20 75 00 65 00 3d 00 22 00 61 00 31 00 65 00 31 00 |u.e.=.".a.1.e.1.| 00000e30 36 00 66 00 31 00 34 00 2d 00 66 00 31 00 30 00 |6.f.1.4.-.f.1.0.| 00000e40 32 00 2d 00 31 00 31 00 65 00 61 00 2d 00 61 00 |2.-.1.1.e.a.-.a.| 00000e50 39 00 33 00 36 00 2d 00 64 00 62 00 66 00 35 00 |9.3.6.-.d.b.f.5.| 00000e60 31 00 38 00 63 00 38 00 32 00 65 00 61 00 37 00 |1.8.c.8.2.e.a.7.| 00000e70 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00000e80 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 | . . . .<.p.r.o.| 00000e90 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 |p.e.r.t.y. .n.a.| 00000ea0 6d 00 65 00 3d 00 22 00 4c 00 41 00 53 00 54 00 |m.e.=.".L.A.S.T.| 00000eb0 5f 00 55 00 50 00 44 00 41 00 54 00 45 00 44 00 |.U.P.D.A.T.E.D.| 00000ec0 5f 00 53 00 4f 00 55 00 52 00 43 00 45 00 22 00 |.S.O.U.R.C.E.".| 00000ed0 20 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 | .v.a.l.u.e.=.".| 00000ee0 61 00 75 00 74 00 6f 00 71 00 61 00 30 00 31 00 |a.u.t.o.q.a.0.1.| 00000ef0 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00000f00 20 00 20 00 20 00 20 00 3c 00 70 00 ff 72 00 6f | . . . .<.p..r.o| 00000f10 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 |.p.e.r.t.y. .n.a| 00000f20 00 6d 00 65 00 3d 00 22 00 52 00 45 00 46 00 5f |.m.e.=.".R.E.F.| 00000f30 00 4e 00 55 00 4d 00 35 00 22 00 20 00 76 00 61 |.N.U.M.5.". .v.a| 00000f40 00 6c 00 75 00 65 00 3d 00 22 00 31 00 22 00 20 |.l.u.e.=.".1.". | 00000f50 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 |./.>..... . . . | 00000f60 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 |. . .<.p.r.o.p.e| 00000f70 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 |.r.t.y. .n.a.m.e| 00000f80 00 3d 00 22 00 49 00 4d 00 45 00 49 00 22 00 20 |.=.".I.M.E.I.". | 00000f90 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 22 |.v.a.l.u.e.=."."| 00000fa0 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 |. ./.>..... . . | 00000fb0 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 |. . . .<.p.r.o.p| 00000fc0 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 00000fd0 00 65 00 3d 00 22 00 50 00 55 00 52 00 43 00 48 |.e.=.".P.U.R.C.H| 00000fe0 00 41 00 53 00 45 00 5f 00 4f 00 52 00 44 00 45 |.A.S.E..O.R.D.E| 00000ff0 00 52 00 5f 00 4c 00 49 00 4e 00 45 00 5f 00 4e |.R..L.I.N.E..N| 00001000 00 55 00 4d 00 42 00 45 00 52 00 22 ff 00 20 00 |.U.M.B.E.R.".. .| 00001010 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 32 00 |v.a.l.u.e.=.".2.| 00001020 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00001030 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 | . . . .<.p.r.o.| 00001040 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 |p.e.r.t.y. .n.a.| 00001050 6d 00 65 00 3d 00 22 00 54 00 52 00 41 00 43 00 |m.e.=.".T.R.A.C.| 00001060 4b 00 49 00 4e 00 47 00 5f 00 4e 00 42 00 52 00 |K.I.N.G..N.B.R.| 00001070 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d 00 |". .v.a.l.u.e.=.| 00001080 22 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 |".". ./.>..... .| 00001090 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 | . . . . .<.p.r.| 000010a0 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 |o.p.e.r.t.y. .n.| 000010b0 61 00 6d 00 65 00 3d 00 22 00 54 00 43 00 5f 00 |a.m.e.=.".T.C..| 000010c0 4c 00 50 00 4e 00 5f 00 49 00 44 00 22 00 20 00 |L.P.N..I.D.". .| 000010d0 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 32 00 |v.a.l.u.e.=.".2.| 000010e0 35 00 36 00 30 00 31 00 39 00 38 00 38 00 30 00 |5.6.0.1.9.8.8.0.| 000010f0 30 00 32 00 35 00 35 00 30 00 37 00 32 00 39 00 |0.2.5.5.0.7.2.9.| 00001100 31 00 22 00 20 00 2f 00 3e 00 0d 00 ff 0a 00 20 |1.". ./.>...... | 00001110 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 72 |. . . . . .<.p.r| 00001120 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 6e |.o.p.e.r.t.y. .n| 00001130 00 61 00 6d 00 65 00 3d 00 22 00 54 00 43 00 5f |.a.m.e.=.".T.C.| 00001140 00 4f 00 52 00 44 00 45 00 52 00 5f 00 4c 00 49 |.O.R.D.E.R..L.I| 00001150 00 4e 00 45 00 5f 00 49 00 44 00 22 00 20 00 76 |.N.E..I.D.". .v| 00001160 00 61 00 6c 00 75 00 65 00 3d 00 22 00 31 00 22 |.a.l.u.e.=.".1."| 00001170 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 |. ./.>..... . . | 00001180 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 |. . . .<.p.r.o.p| 00001190 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 000011a0 00 65 00 3d 00 22 00 49 00 54 00 45 00 4d 00 5f |.e.=.".I.T.E.M.| 000011b0 00 4e 00 41 00 4d 00 45 00 22 00 20 00 76 00 61 |.N.A.M.E.". .v.a| 000011c0 00 6c 00 75 00 65 00 3d 00 22 00 35 00 31 00 30 |.l.u.e.=.".5.1.0| 000011d0 00 32 00 36 00 33 00 38 00 22 00 20 00 2f 00 3e |.2.6.3.8.". ./.>| 000011e0 00 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 2f |..... . . . .<./| 000011f0 00 64 00 65 00 74 00 61 00 69 00 6c 00 3e 00 0d |.d.e.t.a.i.l.>..| 00001200 00 0a 00 20 00 20 00 20 00 20 00 3c ff 00 64 00 |... . . . .<..d.| 00001210 65 00 74 00 61 00 69 00 6c 00 3e 00 0d 00 0a 00 |e.t.a.i.l.>.....| 00001220 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 | . . . . . .<.p.| 00001230 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 |r.o.p.e.r.t.y. .| 00001240 6e 00 61 00 6d 00 65 00 3d 00 22 00 53 00 52 00 |n.a.m.e.=.".S.R.| 00001250 4c 00 5f 00 4e 00 42 00 52 00 22 00 20 00 76 00 |L..N.B.R.". .v.| 00001260 61 00 6c 00 75 00 65 00 3d 00 22 00 22 00 20 00 |a.l.u.e.=.".". .| 00001270 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 |/.>..... . . . .| 00001280 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 | . .<.p.r.o.p.e.| 00001290 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 |r.t.y. .n.a.m.e.| 000012a0 3d 00 22 00 47 00 54 00 49 00 4e 00 22 00 20 00 |=.".G.T.I.N.". .| 000012b0 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 35 00 |v.a.l.u.e.=.".5.| 000012c0 36 00 30 00 31 00 39 00 38 00 38 00 32 00 37 00 |6.0.1.9.8.8.2.7.| 000012d0 39 00 33 00 36 00 32 00 22 00 20 00 2f 00 3e 00 |9.3.6.2.". ./.>.| 000012e0 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 000012f0 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00001300 79 00 20 00 6e 00 61 00 6d 00 65 00 ff 3d 00 22 |y. .n.a.m.e..=."| 00001310 00 49 00 54 00 45 00 4d 00 5f 00 42 00 41 00 52 |.I.T.E.M..B.A.R| 00001320 00 5f 00 43 00 4f 00 44 00 45 00 22 00 20 00 76 |..C.O.D.E.". .v| 00001330 00 61 00 6c 00 75 00 65 00 3d 00 22 00 35 00 36 |.a.l.u.e.=.".5.6| 00001340 00 30 00 31 00 39 00 38 00 38 00 32 00 37 00 39 |.0.1.9.8.8.2.7.9| 00001350 00 33 00 36 00 32 00 22 00 20 00 2f 00 3e 00 0d |.3.6.2.". ./.>..| 00001360 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c |... . . . . . .<| 00001370 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 |.p.r.o.p.e.r.t.y| 00001380 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 4f |. .n.a.m.e.=.".O| 00001390 00 4d 00 53 00 5f 00 4c 00 49 00 4e 00 45 00 5f |.M.S..L.I.N.E.| 000013a0 00 4e 00 55 00 4d 00 42 00 45 00 52 00 22 00 20 |.N.U.M.B.E.R.". | 000013b0 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 61 |.v.a.l.u.e.=.".a| 000013c0 00 31 00 65 00 31 00 36 00 66 00 31 00 34 00 2d |.1.e.1.6.f.1.4.-| 000013d0 00 66 00 31 00 30 00 32 00 2d 00 31 00 31 00 65 |.f.1.0.2.-.1.1.e| 000013e0 00 61 00 2d 00 61 00 39 00 33 00 36 00 2d 00 64 |.a.-.a.9.3.6.-.d| 000013f0 00 62 00 66 00 35 00 31 00 38 00 63 00 38 00 32 |.b.f.5.1.8.c.8.2| 00001400 00 65 00 61 00 37 00 22 00 20 00 2f ff 00 3e 00 |.e.a.7.". ./..>.| 00001410 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 00001420 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 00001430 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 |y. .n.a.m.e.=.".| 00001440 4c 00 41 00 53 00 54 00 5f 00 55 00 50 00 44 00 |L.A.S.T..U.P.D.| 00001450 41 00 54 00 45 00 44 00 5f 00 53 00 4f 00 55 00 |A.T.E.D..S.O.U.| 00001460 52 00 43 00 45 00 22 00 20 00 76 00 61 00 6c 00 |R.C.E.". .v.a.l.| 00001470 75 00 65 00 3d 00 22 00 61 00 75 00 74 00 6f 00 |u.e.=.".a.u.t.o.| 00001480 71 00 61 00 30 00 31 00 22 00 20 00 2f 00 3e 00 |q.a.0.1.". ./.>.| 00001490 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 |.... . . . . . .| 000014a0 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 |<.p.r.o.p.e.r.t.| 000014b0 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 |y. .n.a.m.e.=.".| 000014c0 52 00 45 00 46 00 5f 00 4e 00 55 00 4d 00 35 00 |R.E.F..N.U.M.5.| 000014d0 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d 00 |". .v.a.l.u.e.=.| 000014e0 22 00 30 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 |".0.". ./.>.....| 000014f0 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 | . . . . . .<.p.| 00001500 72 00 6f 00 70 00 65 00 72 00 74 00 ff 79 00 20 |r.o.p.e.r.t..y. | 00001510 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 49 00 4d |.n.a.m.e.=.".I.M| 00001520 00 45 00 49 00 22 00 20 00 76 00 61 00 6c 00 75 |.E.I.". .v.a.l.u| 00001530 00 65 00 3d 00 22 00 22 00 20 00 2f 00 3e 00 0d |.e.=.".". ./.>..| 00001540 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c |... . . . . . .<| 00001550 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 |.p.r.o.p.e.r.t.y| 00001560 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 50 |. .n.a.m.e.=.".P| 00001570 00 55 00 52 00 43 00 48 00 41 00 53 00 45 00 5f |.U.R.C.H.A.S.E.| 00001580 00 4f 00 52 00 44 00 45 00 52 00 5f 00 4c 00 49 |.O.R.D.E.R..L.I| 00001590 00 4e 00 45 00 5f 00 4e 00 55 00 4d 00 42 00 45 |.N.E..N.U.M.B.E| 000015a0 00 52 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 |.R.". .v.a.l.u.e| 000015b0 00 3d 00 22 00 32 00 22 00 20 00 2f 00 3e 00 0d |.=.".2.". ./.>..| 000015c0 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c |... . . . . . .<| 000015d0 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 |.p.r.o.p.e.r.t.y| 000015e0 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 54 |. .n.a.m.e.=.".T| 000015f0 00 52 00 41 00 43 00 4b 00 49 00 4e 00 47 00 5f |.R.A.C.K.I.N.G.| 00001600 00 4e 00 42 00 52 00 22 00 20 00 76 ff 00 61 00 |.N.B.R.". .v..a.| 00001610 6c 00 75 00 65 00 3d 00 22 00 22 00 20 00 2f 00 |l.u.e.=.".". ./.| 00001620 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 |>..... . . . . .| 00001630 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 | .<.p.r.o.p.e.r.| 00001640 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 |t.y. .n.a.m.e.=.| 00001650 22 00 54 00 43 00 5f 00 4c 00 50 00 4e 00 5f 00 |".T.C..L.P.N..| 00001660 49 00 44 00 22 00 20 00 76 00 61 00 6c 00 75 00 |I.D.". .v.a.l.u.| 00001670 65 00 3d 00 22 00 32 00 35 00 36 00 30 00 31 00 |e.=.".2.5.6.0.1.| 00001680 39 00 38 00 38 00 30 00 30 00 32 00 35 00 35 00 |9.8.8.0.0.2.5.5.| 00001690 30 00 37 00 32 00 38 00 34 00 22 00 20 00 2f 00 |0.7.2.8.4.". ./.| 000016a0 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 00 |>..... . . . . .| 000016b0 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 00 | .<.p.r.o.p.e.r.| 000016c0 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 |t.y. .n.a.m.e.=.| 000016d0 22 00 54 00 43 00 5f 00 4f 00 52 00 44 00 45 00 |".T.C..O.R.D.E.| 000016e0 52 00 5f 00 4c 00 49 00 4e 00 45 00 5f 00 49 00 |R..L.I.N.E..I.| 000016f0 44 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 |D.". .v.a.l.u.e.| 00001700 3d 00 22 00 32 00 22 00 20 00 2f 00 ff 3e 00 0d |=.".2.". ./..>..| 00001710 00 0a 00 20 00 20 00 20 00 20 00 20 00 20 00 3c |... . . . . . .<| 00001720 00 70 00 72 00 6f 00 70 00 65 00 72 00 74 00 79 |.p.r.o.p.e.r.t.y| 00001730 00 20 00 6e 00 61 00 6d 00 65 00 3d 00 22 00 49 |. .n.a.m.e.=.".I| 00001740 00 54 00 45 00 4d 00 5f 00 4e 00 41 00 4d 00 45 |.T.E.M..N.A.M.E| 00001750 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d |.". .v.a.l.u.e.=| 00001760 00 22 00 36 00 30 00 32 00 39 00 34 00 37 00 32 |.".6.0.2.9.4.7.2| 00001770 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 |.". ./.>..... . | 00001780 00 20 00 20 00 3c 00 2f 00 64 00 65 00 74 00 61 |. . .<./.d.e.t.a| 00001790 00 69 00 6c 00 3e 00 0d 00 0a 00 20 00 20 00 20 |.i.l.>..... . . | 000017a0 00 20 00 3c 00 64 00 65 00 74 00 61 00 69 00 6c |. .<.d.e.t.a.i.l| 000017b0 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 20 |.>..... . . . . | 000017c0 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 72 |. .<.p.r.o.p.e.r| 000017d0 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 3d |.t.y. .n.a.m.e.=| 000017e0 00 22 00 53 00 52 00 4c 00 5f 00 4e 00 42 00 52 |.".S.R.L..N.B.R| 000017f0 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d |.". .v.a.l.u.e.=| 00001800 00 22 00 22 00 20 00 2f 00 3e 00 0d ff 00 0a 00 |.".". ./.>......| 00001810 20 00 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 | . . . . . .<.p.| 00001820 72 00 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 |r.o.p.e.r.t.y. .| 00001830 6e 00 61 00 6d 00 65 00 3d 00 22 00 47 00 54 00 |n.a.m.e.=.".G.T.| 00001840 49 00 4e 00 22 00 20 00 76 00 61 00 6c 00 75 00 |I.N.". .v.a.l.u.| 00001850 65 00 3d 00 22 00 35 00 36 00 30 00 31 00 39 00 |e.=.".5.6.0.1.9.| 00001860 38 00 38 00 32 00 37 00 39 00 33 00 36 00 32 00 |8.8.2.7.9.3.6.2.| 00001870 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00001880 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 | . . . .<.p.r.o.| 00001890 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 |p.e.r.t.y. .n.a.| 000018a0 6d 00 65 00 3d 00 22 00 49 00 54 00 45 00 4d 00 |m.e.=.".I.T.E.M.| 000018b0 5f 00 42 00 41 00 52 00 5f 00 43 00 4f 00 44 00 |.B.A.R..C.O.D.| 000018c0 45 00 22 00 20 00 76 00 61 00 6c 00 75 00 65 00 |E.". .v.a.l.u.e.| 000018d0 3d 00 22 00 35 00 36 00 30 00 31 00 39 00 38 00 |=.".5.6.0.1.9.8.| 000018e0 38 00 32 00 37 00 39 00 33 00 36 00 32 00 22 00 |8.2.7.9.3.6.2.".| 000018f0 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 | ./.>..... . . .| 00001900 20 00 20 00 20 00 3c 00 70 00 72 00 ff 6f 00 70 | . . .<.p.r..o.p| 00001910 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 00001920 00 65 00 3d 00 22 00 4f 00 4d 00 53 00 5f 00 4c |.e.=.".O.M.S..L| 00001930 00 49 00 4e 00 45 00 5f 00 4e 00 55 00 4d 00 42 |.I.N.E..N.U.M.B| 00001940 00 45 00 52 00 22 00 20 00 76 00 61 00 6c 00 75 |.E.R.". .v.a.l.u| 00001950 00 65 00 3d 00 22 00 61 00 31 00 65 00 31 00 36 |.e.=.".a.1.e.1.6| 00001960 00 66 00 31 00 34 00 2d 00 66 00 31 00 30 00 32 |.f.1.4.-.f.1.0.2| 00001970 00 2d 00 31 00 31 00 65 00 61 00 2d 00 61 00 39 |.-.1.1.e.a.-.a.9| 00001980 00 33 00 36 00 2d 00 64 00 62 00 66 00 35 00 31 |.3.6.-.d.b.f.5.1| 00001990 00 38 00 63 00 38 00 32 00 65 00 61 00 37 00 22 |.8.c.8.2.e.a.7."| 000019a0 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 |. ./.>..... . . | 000019b0 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 |. . . .<.p.r.o.p| 000019c0 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 000019d0 00 65 00 3d 00 22 00 4c 00 41 00 53 00 54 00 5f |.e.=.".L.A.S.T.| 000019e0 00 55 00 50 00 44 00 41 00 54 00 45 00 44 00 5f |.U.P.D.A.T.E.D.| 000019f0 00 53 00 4f 00 55 00 52 00 43 00 45 00 22 00 20 |.S.O.U.R.C.E.". | 00001a00 00 76 00 61 00 6c 00 75 00 65 00 3d ff 00 22 00 |.v.a.l.u.e.=..".| 00001a10 61 00 75 00 74 00 6f 00 71 00 61 00 30 00 31 00 |a.u.t.o.q.a.0.1.| 00001a20 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 |". ./.>..... . .| 00001a30 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 | . . . .<.p.r.o.| 00001a40 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 |p.e.r.t.y. .n.a.| 00001a50 6d 00 65 00 3d 00 22 00 52 00 45 00 46 00 5f 00 |m.e.=.".R.E.F..| 00001a60 4e 00 55 00 4d 00 35 00 22 00 20 00 76 00 61 00 |N.U.M.5.". .v.a.| 00001a70 6c 00 75 00 65 00 3d 00 22 00 31 00 22 00 20 00 |l.u.e.=.".1.". .| 00001a80 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 20 00 |/.>..... . . . .| 00001a90 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 65 00 | . .<.p.r.o.p.e.| 00001aa0 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 65 00 |r.t.y. .n.a.m.e.| 00001ab0 3d 00 22 00 49 00 4d 00 45 00 49 00 22 00 20 00 |=.".I.M.E.I.". .| 00001ac0 76 00 61 00 6c 00 75 00 65 00 3d 00 22 00 22 00 |v.a.l.u.e.=.".".| 00001ad0 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 | ./.>..... . . .| 00001ae0 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 | . . .<.p.r.o.p.| 00001af0 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 |e.r.t.y. .n.a.m.| 00001b00 65 00 3d 00 22 00 50 00 55 00 52 00 ff 43 00 48 |e.=.".P.U.R..C.H| 00001b10 00 41 00 53 00 45 00 5f 00 4f 00 52 00 44 00 45 |.A.S.E..O.R.D.E| 00001b20 00 52 00 5f 00 4c 00 49 00 4e 00 45 00 5f 00 4e |.R..L.I.N.E..N| 00001b30 00 55 00 4d 00 42 00 45 00 52 00 22 00 20 00 76 |.U.M.B.E.R.". .v| 00001b40 00 61 00 6c 00 75 00 65 00 3d 00 22 00 32 00 22 |.a.l.u.e.=.".2."| 00001b50 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 |. ./.>..... . . | 00001b60 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 |. . . .<.p.r.o.p| 00001b70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d |.e.r.t.y. .n.a.m| 00001b80 00 65 00 3d 00 22 00 54 00 52 00 41 00 43 00 4b |.e.=.".T.R.A.C.K| 00001b90 00 49 00 4e 00 47 00 5f 00 4e 00 42 00 52 00 22 |.I.N.G..N.B.R."| 00001ba0 00 20 00 76 00 61 00 6c 00 75 00 65 00 3d 00 22 |. .v.a.l.u.e.=."| 00001bb0 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 |.". ./.>..... . | 00001bc0 00 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 6f |. . . . .<.p.r.o| 00001bd0 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 61 |.p.e.r.t.y. .n.a| 00001be0 00 6d 00 65 00 3d 00 22 00 54 00 43 00 5f 00 4c |.m.e.=.".T.C..L| 00001bf0 00 50 00 4e 00 5f 00 49 00 44 00 22 00 20 00 76 |.P.N..I.D.". .v| 00001c00 00 61 00 6c 00 75 00 65 00 3d 00 22 ff 00 32 00 |.a.l.u.e.=."..2.| 00001c10 35 00 36 00 30 00 31 00 39 00 38 00 38 00 30 00 |5.6.0.1.9.8.8.0.| 00001c20 30 00 32 00 35 00 35 00 30 00 37 00 32 00 39 00 |0.2.5.5.0.7.2.9.| 00001c30 31 00 22 00 20 00 2f 00 3e 00 0d 00 0a 00 20 00 |1.". ./.>..... .| 00001c40 20 00 20 00 20 00 20 00 20 00 3c 00 70 00 72 00 | . . . . .<.p.r.| 00001c50 6f 00 70 00 65 00 72 00 74 00 79 00 20 00 6e 00 |o.p.e.r.t.y. .n.| 00001c60 61 00 6d 00 65 00 3d 00 22 00 54 00 43 00 5f 00 |a.m.e.=.".T.C..| 00001c70 4f 00 52 00 44 00 45 00 52 00 5f 00 4c 00 49 00 |O.R.D.E.R..L.I.| 00001c80 4e 00 45 00 5f 00 49 00 44 00 22 00 20 00 76 00 |N.E..I.D.". .v.| 00001c90 61 00 6c 00 75 00 65 00 3d 00 22 00 32 00 22 00 |a.l.u.e.=.".2.".| 00001ca0 20 00 2f 00 3e 00 0d 00 0a 00 20 00 20 00 20 00 | ./.>..... . . .| 00001cb0 20 00 20 00 20 00 3c 00 70 00 72 00 6f 00 70 00 | . . .<.p.r.o.p.| 00001cc0 65 00 72 00 74 00 79 00 20 00 6e 00 61 00 6d 00 |e.r.t.y. .n.a.m.| 00001cd0 65 00 3d 00 22 00 49 00 54 00 45 00 4d 00 5f 00 |e.=.".I.T.E.M..| 00001ce0 4e 00 41 00 4d 00 45 00 22 00 20 00 76 00 61 00 |N.A.M.E.". .v.a.| 00001cf0 6c 00 75 00 65 00 3d 00 22 00 36 00 30 00 32 00 |l.u.e.=.".6.0.2.| 00001d00 39 00 34 00 37 00 32 00 22 00 20 00 65 2f 00 3e |9.4.7.2.". .e/.>| 00001d10 00 0d 00 0a 00 20 00 20 00 20 00 20 00 3c 00 2f |..... . . . .<./| 00001d20 00 64 00 65 00 74 00 61 00 69 00 6c 00 3e 00 0d |.d.e.t.a.i.l.>..| 00001d30 00 0a 00 20 00 20 00 3c 00 2f 00 65 00 76 00 65 |... . .<./.e.v.e| 00001d40 00 6e 00 74 00 5f 00 64 00 65 00 74 00 61 00 69 |.n.t..d.e.t.a.i| 00001d50 00 6c 00 73 00 3e 00 0d 00 0a 00 3c 00 2f 00 65 |.l.s.>.....<./.e| 00001d60 00 76 00 65 00 6e 00 74 00 3e 00 0d 00 0a 00 0d |.v.e.n.t.>......| 00001d70 00 0a 00 08 00 54 00 01 02 0c 80 00 00 02 00 00 |.....T..........| 00001d80 00 01 00 00 02 9d 63 b2 00 0a ee f4 00 0a ee f3 |......c.........| 00001d90 00 03 00 03 03 69 00 03 0c 40 7c 33 14 80 24 14 |.....i...@|3..$.| 00001da0 00 6c 00 00 00 00 00 00 8a af ee a2 00 02 00 00 |.l..............| 00001db0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001dc0 00 0a ee f3 14 80 0a d3 00 03 02 0e a4 04 01 01 |................| 00001dd0 01 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001de0 00 00 00 00 00 00 00 00 00 00 00 00 |............| 2020-12-16T13:57:59.9880: Write packet: 00000000 00 15 00 00 06 00 00 00 00 00 11 69 00 01 01 01 |...........i....| 00000010 01 02 03 93 00 |.....| 2020-12-16T13:58:00.0065: Read packet: 00000000 00 0f 00 00 06 00 00 00 00 00 09 01 01 01 0b |...............| 2020-12-16T13:58:00.0066: Close 2020-12-16T13:58:00.0066: Connection Closed

sijms commented 3 years ago

I think this issue may be resolved when the driver version upgraded to higher versions and I am working on it now

simulot commented 3 years ago

Let me know how I can help.

sijms commented 3 years ago

when I work on the code I find an interesting bug that may help in solving this issue the story start at command.go :584

temp, err := session.GetClr() temp here is a reference to session.inBuffer not a copy when datatype is of type string the code go through string conversion process. and when the NLS_CHARSET = 2000 here is the problem string_conversion.go :99

case 2000:
    index := 0
    if len(input)%2 > 0 {
        input = append(input, 0)
    }

the append occur if length is odd and to make it even just append one 0 byte but the appending here occur in session.InBuffer

I fix the bug please test and comment

simulot commented 3 years ago

my test cases are working as well my initial problem against the real database.

great job! Thanks