powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OCIDateTime binding - проблема
1 сообщений из 1, страница 1 из 1
OCIDateTime binding - проблема
    #32091696
Alexei M. Antipin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаемся записать в таблицу значение типа OCIDateTime.

OCIDateTime *sys_date;

// Инициализируем дескриптор
OCIDescriptorAlloc(envhp, (dvoid**) &sys_date, OCI_DTYPE_TIMESTAMP, 0, 0);

text *insert = (text *) "INSERT INTO hypertable(TIME)\
VALUES (:time)";

OCIStmtPrepare(stmthp, errhp, insert,
(ub4) strlen((char *) insert),
(ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);

// берем системную дату
OCIDateTimeSysTimeStamp ( envhp, errhp, sys_date);

OCIBind *bndTime = (OCIBind *) 0;

OCIBindByPos(stmthp, &bndTime, errhp, 1,
&sys_date, sizeof(sys_date), SQLT_TIMESTAMP,
(dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT));

OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);

...

В итоге Execute выдает следующую ошибку:

Error - ORA-01483: invalid length for DATE or NUMBER bind variable

В чем дело? Как побороть?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OCIDateTime binding - проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]