sql >> Database teknologi >  >> RDS >> Sqlserver

Jagten på 0x0B

Fandt den endelig!

.NET XML-serializeren undslippede det ugyldige tegn, da det serialiserede det, men derefter fjernede det det før afserialisering.

Så jeg måtte søge efter de undslupne at finde den uundgåede 0x0B ... seriøst ikke sjove fyre!

Så dette:

  SELECT * from Mytable where Column like '%' + '&#xB' + '%'

Vil faktisk finde dette:

<?xml version="1.0"?>
      <Hashtable><key>313_other_10</key><value>&#xB</value></Hashtable>

Og selvom dette ligner gyldig XML, vil det give en ugyldig tegnundtagelse, når :

    XmlSerializer xs = new XmlSerializer(Type.GetType(Hashtable));
    StringReader stringReader = new StringReader(xml);
    obj = xs.Deserialize(stringReader);

Mange tak til folk, der hoppede ind for at hjælpe! Det var uvurderlig hjælp!



  1. MYSQL, meget langsom rækkefølge

  2. Flyt systemdatabaser i SQL Server Failover Cluster

  3. Sådan tilføjes paginering i php

  4. Hvorfor indsætte TSQL-sætningsblok, når transaktionsisolationsniveau for en anden transaktion kan serialiseres med et ikke-konfliktende filter?