sql >> Databáze >  >> RDS >> Sqlserver

Hledání 0x0B

Konečně jsem to našel!

Serializátor .NET XML při serializaci kódoval neplatný znak, ale poté jej před unikal. de-serializace.

Musel jsem tedy hledat uniklé najít neuniklé 0x0B ... vážně to není vtip!

Takže toto:

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

Ve skutečnosti najde toto:

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

A i když to vypadá jako platný XML, vyvolá výjimku neplatného znaku, když:

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

Mnohokrát děkujeme lidem, kteří se vrhli na pomoc! Byla to neocenitelná pomoc!



  1. Zkomprimovat nebo přečíslovat ID pro všechny tabulky a resetovat sekvence na max(id)?

  2. Existuje způsob, jak převést varchar na DATETIME v SQL SERVER 2008?

  3. MYSQLI - WHERE IN pole

  4. Jak mohu vyčistit mrtvá připojení pomocí Oracle?