Удаление нестандартных символов ASCII из результата запроса Firebird

#excel #firebird #firebird2.5

#excel #firebird #firebird2.5

Вопрос:

Мы используем ODBC-соединения для загрузки данных из Ostendo, который основан на Firebird 2.5, в Excel.

У нас возникли проблемы с подключением полей таблицы, данные которых содержат нестандартные символы ascii. Обычно они поступают из электронных писем, которые были скопированы и вставлены в поле под названием «примечания к заданиям» (которое представляет собой большой двоичный объект типа данных).

Возможно ли просмотреть каждый символ, чтобы проверить, больше ли его номер символа 126, и если да, заменить его на «{?}» или замените все поле на «Не загружено — содержит специальные символы *». Или есть функция, которая уже делает это? Большинство из того, что я нашел в Интернете, предназначено для людей с языковыми проблемами, но для нас это смесь языка и символов, используемых для разработки.

Комментарии:

1. Для этого нет ничего встроенного. Вы могли бы использовать SUBSTRING(...) и ASCII_VAL(...) для проверки каждого символа, но вам нужно будет написать такую логику самостоятельно. Вероятно, это проще сделать на вашем клиентском языке (например, для Excel, на VBA)

2. что такое data type blob ? в Firebird такой вещи нет. Существует либо двоичный двоичный объект, либо текстовый двоичный объект. Двоичные двоичные объекты не содержат «символов». И текстовые двоичные объекты могут иметь разные кодировки, поэтому на один символ может приходиться до 4 байт. Какие конкретные «проблемы» у вас есть? лучше всего было бы просто прочитать все данные как есть в вашем программном обеспечении, а затем заставить ваше программное обеспечение отбрасывать или заменять данные, которые оно не может использовать, например, расширенные символы. Можете ли вы подключиться к базе данных с точно такой же кодировкой, какую использует Ostendo? Кроме того, есть ли у вас другие варианты, кроме ODBC (кажется, не поддерживается активно)?

3. Спасибо за ваш отзыв. У меня возникли проблемы с загрузкой информации в Excel для редактирования в первую очередь. Мне удалось загрузить его в Excel (без сбоев), а затем найти некорректные данные и соответствующим образом изменить их (на случай, если вам было интересно, это были 3 точки и многоточие). В итоге это не решило исходную проблему, вызывающую нарушение. Но мне удалось это решить.