РЕДАКТИРОВАТЬ: Позвольте мне превратить это в прямой вопрос SQL ...
У меня есть столбец varbinary (max), содержащий байтовый массив, который представляет данные Microsoft Ink. Данные о чернилах состоят из штрихов, и штрихи, кажется, ограничены 0x00. Например
0x0090011D04A4048C040304481045141914320800C03402E9A46242330800E01202D0BA014211ABAAD3411E060484E24F6C400A0701096B800A4AC00A060108690943800A2B3C82FCD9F9B56001165CB61440059412CA8B2882FC61F8C66692772AC4D92A2C22E5CD2CAB08DCBB1365940A212182FE043BF810FCCCD6B360AB9A2A451482FC6DF8D664AB337C55DCA9B2D5B650 ...
Ход 1 - 0090011D04A4048C0403044810451419143208
Ход 2 - 00C03402E9A462423308 (я думаю 0x08 в конце обоих совпадений)
и т.д.
Последний ход поврежден, поскольку данные были усечены при вставке. Как мне удалить только последний штрих из данных? Я хочу сделать это в обновлении SQL, если это возможно.
Из-за SNAFU для сопоставления Fluent NHibernate у нас есть некоторые данные Microsoft Ink, которые были усечены до 8000 байт и сохранены в столбце varbinary (max) базы данных SQL Server. Попытка загрузить эти данные в новый объект Ink выдает исключение «Катастрофический сбой (исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED)».
Можно ли восстановить какие-либо данные Ink? Я знаю, что он хранится как штрихи, поэтому, если есть разделитель для идентификации отдельных штрихов, я мог бы просто удалить последние неверные данные.