Страница 1 из 2

OCI function is not linked

Добавлено: Вт 30 окт 2012 11:57
petrel
Версия ODAC 8.1.4
Версия клиента Oracle 6.0.8.26.0

При попытке работы с TBlobField выскакивает исключение 'OCI function is not linked'.
Исключение появляется при активации запроса: 'select BLOBFIELD from Table'

Как извлекать данные из таких полей ?
Как записывать данные в такие поля ?

Re: OCI function is not linked

Добавлено: Вт 30 окт 2012 14:25
Alexp
Добрый день,

Вы привели версию Oracle Forms. Пожалуйста выполните следующую команду в командной строке для получения точной версии клиента

Код: Выделить всё

C:>sqlplus -v
и сообщите ее нам

Re: OCI function is not linked

Добавлено: Вт 30 окт 2012 15:21
petrel
День добрый!
sqlplus -v :> открывается в отдельном окне с последующем мгновенным закрытием

sqlplus :> дало командную строку с версией SQL*Plus: Release 8.0.6.0.0

Re: OCI function is not linked

Добавлено: Ср 31 окт 2012 09:42
Alexp
Добрый день,

Спасибо за информацию, мы воспроизвели проблему. В данный момент для работы с TBlobField вам необходимо обновить клиент Oracle до версии 8.1.X или старше. В следующих версиях ODAC мы исправим эту проблему.

Re: OCI function is not linked

Добавлено: Ср 31 окт 2012 13:33
petrel
Добрый день,

Спасибо, информация принята. К сожалению перейти на более позднюю версию Oracle в ближайшее время нет возможности, по независимым от нас обстоятельствам.


Есть ли какая другая возможность работать с полями типа Blob средствами ODAC ?

Возможно ли в дальнейшем получить исправленную версию ODAC ?

P.S. У нас официально закуплена Версия ODAC 8.1.4

Re: OCI function is not linked

Добавлено: Ср 31 окт 2012 14:47
Alexp
Добрый день,

К сожалению в данный момент в ODAC не возможно обойти эту ошибку, если в BLOB поле хранятся текстовые данные то в принципе их можно конвертировать в VARCAR средствами самого ORACLE. Мы исправим это поведение в следующей версии выход которой планируется на следующей неделе.
Обновление на новую версию возможно в случае если Ваша подписка еще активна (подписка активна в течении года), если срок подписки закончился - Вам придется ее обновить

Re: OCI function is not linked

Добавлено: Чт 08 ноя 2012 13:40
Alexp
Добрый день,

Проблема при работе с BLOB полями в клиентах Oracle меньше 8.1 уже решена.
Это исправление вошло в новую версию ODA 8.5.10 которая уже доступна на нашем сайте

Re: OCI function is not linked

Добавлено: Пт 16 ноя 2012 05:57
petrel
Добрый день!

Подскажите пожалуйста, а какова стоимость обновления подписки на следующий (2013) год?

Re: OCI function is not linked

Добавлено: Пт 16 ноя 2012 08:45
Alexp
Добрый день,

Подписка действительна в течении года с момента покупки (не календарный год). Цена на обновление подписки зависит от Вашей редакции ODAC и типа лицензии. Цены на обновление подписки Вы можете посмотреть на нашем сайте http://www.devart.com/odac/ordering.html, закладка Renewals & Upgrades, раздел Subscription Renewals

Re: OCI function is not linked

Добавлено: Ср 30 янв 2013 15:29
vladevart
Здравствуйте. У меня проблема с такой же диагностикой.

Версия ODAC 8.6.11 for RAD Studio XE2
Версия клиента Oracle: "SQL*Plus: Release 11.2.0.1.0 Production"

При попытке работы с объектом TOraQuery при активации запроса: 'select count(*) from Table' появляется исключение 'OCI function is not linked'.
Как выйти из этой ситуации.
Спасибо.

Re: OCI function is not linked

Добавлено: Чт 31 янв 2013 12:11
Alexp
Добрый день,

Пожалуйста приведите скрипт для создания таблицы на которой при этом запросе вы получаете ошибку, а также уточните режим который вы используете: OCI или Direct

Re: OCI function is not linked

Добавлено: Чт 31 янв 2013 17:38
vladevart
Здравствуйте.
Ошибка исчезла после того, как пересобрал DLL, в которой получал исключение, связанное с OCI (используется режим OCI). В основной программе создание таблиц происходило без ошибок, проблема оказалась в DLL.
Мой вопрос можно снять. Спасибо за отклик.

Re: OCI function is not linked

Добавлено: Пт 01 фев 2013 10:58
Alexp
Добрый день,

Пожалуйста, я рад что Вы нашли решение данной проблемы. Если возникнут дальнейшие вопросы по ODAC, пишите нам.

Re: OCI function is not linked

Добавлено: Чт 06 фев 2014 09:38
malek
Добрый день. У меня та же ошибка

Версия ODAC 9.2.5 for DELPHI XE
Версия клиента Oracle: "Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production"

На сервере создаю
CREATE TYPE TEST_REC AS OBJECT
( pPar1 number,
pPar2 number,
pPar3 number);
/
create TYPE TEST_TYPE AS TABLE OF TEST_REC;
/
процедуру в пакете
procedure test_oci(pAction number, arr in TEST_TYPE) is
begin
....
end;

На клиенте на форме ToraSession и ToraStoredProc
В ToraStoredProc:
begin
PACK_TEST.test_oci(:PACTION, :ARR);
end;

Параметр ARR автоматически имеет Data Type - Table.(при смене на Array ошибка остается)

procedure TForm1.Button1click(Sender: TObject);
begin
OraSession1.Options.Direct:=true;
with OraStoredProc1.ParamByName('ARR').AsTable do
AllocObject(OraSession1.OCISvcCtx,'TEST_TYPE'); --error OCI function is not linked
end;

Как решить данную проблему?
Заранее спасибо за ответ.

Re: OCI function is not linked

Добавлено: Чт 06 фев 2014 11:58
Alexp
Такие типы как OBJECT, ARRAY, REF, XML, BINARY_DOUBLE, BINARY_FLOAT не поддерживаются в Direct режиме. В будущем мы планируем реализовать поддержку этих типов