Восстановить данные чернил из усеченных записей базы данных? - PullRequest
2 голосов
/ 02 ноября 2011

РЕДАКТИРОВАТЬ: Позвольте мне превратить это в прямой вопрос 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? Я знаю, что он хранится как штрихи, поэтому, если есть разделитель для идентификации отдельных штрихов, я мог бы просто удалить последние неверные данные.

1 Ответ

1 голос
/ 03 ноября 2011

Я не знаком с данными Ink, но можно ли будет прочитать их как байтовый массив и попытаться преобразовать их в данные рукописного ввода, начиная с конца массива, работающего последовательно в обратном направлении в байтовом массиве, до созданияданные чернил не исключение.Затем вы должны сохранить этот результирующий объект в базе данных.

Похоже, что если ваш набор результатов будет большим, это может занять много времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...