Вставка двоичных данных в Varchar2 с помощью OTL (OCCI, OCI)
Как вставить данные, которые могут быть двоичными, в Varchar2 с OTL? (OCI/OCCI, конечно, будет в порядке)
Справочная информация: У нас есть много столбцов Varchar2, которые обычно не являются двоичными, но это может произойти где-нибудь когда-нибудь (меня особенно беспокоит \0 и UTF-8)
Вторник: я опубликовал этот связанный вопрос: как я могу хранить байты в Oracle Varchar2 и обрабатывать ASCII как текст
1 ответ
Если вам нужно использовать VARCHAR2, вам сначала нужно преобразовать двоичные данные, например, используя кодировку BASE-64.
Поэтому, если вы вызываете оператор вставки из C++, вы сначала в C кодируете байты, которые хотите вставить, а затем вызываете оператор, чтобы вставить полученную строку.
Если вы хотите вставить двоичные значения из другой таблицы, это становится сложнее, но вы можете кодировать их в функции PL/SQL.
Но если вы можете изменить тип данных, лучше использовать тип данных RAW.