Есть ли бинарный литерал в Interbase?

Я загрузил пробную версию Interbase 2017 и использую 64-разрядные сборки Windows и драйверы ODBC для Windows 10 Pro версии 1703.

Я создал такую ​​базу данных

CREATE TABLE "REBBINARY" (ID integer, "SQLVALUE" CHAR(3) NOT NULL)

и попытайтесь вставить некоторые двоичные данные, подобные этому

INSERT INTO "REBBINARY" ("SQLVALUE") VALUES (x'000000')

который отлично работает в Firebird.

Но я получаю эту ошибку

** Error: [ODBC InterBase Driver][InterBase]Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 47
'000000'

Итак, какой правильный литерал для двоичных данных в операторах?


person Graham Chiu    schedule 03.06.2017    source источник


Ответы (1)


Ответ от текущего разработчика Interbase

InterBase не предлагает буквального двоичного кода. Единственный способ добавить двоичное значение в поле char — использовать параметризованный запрос. Например, TFDParam FireDAC предлагает свойство AsByteStr: //docwiki.embarcadero.com/Libraries/Berlin/en/FireDAC.Stan.Param.TFDParam.AsByteStr

person Graham Chiu    schedule 20.03.2018