OCI function is not linked

Обсуждение возникших проблем, предложений и ошибок ODAC компонентов
petrel
Сообщения: 48
Зарегистрирован: Вт 30 окт 2012 11:43

OCI function is not linked

Сообщение petrel » Вт 30 окт 2012 11:57

Версия ODAC 8.1.4
Версия клиента Oracle 6.0.8.26.0

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

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Вт 30 окт 2012 14:25

Добрый день,

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

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

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

petrel
Сообщения: 48
Зарегистрирован: Вт 30 окт 2012 11:43

Re: OCI function is not linked

Сообщение petrel » Вт 30 окт 2012 15:21

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

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Ср 31 окт 2012 09:42

Добрый день,

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

petrel
Сообщения: 48
Зарегистрирован: Вт 30 окт 2012 11:43

Re: OCI function is not linked

Сообщение petrel » Ср 31 окт 2012 13:33

Добрый день,

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


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

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

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Ср 31 окт 2012 14:47

Добрый день,

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Чт 08 ноя 2012 13:40

Добрый день,

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

petrel
Сообщения: 48
Зарегистрирован: Вт 30 окт 2012 11:43

Re: OCI function is not linked

Сообщение petrel » Пт 16 ноя 2012 05:57

Добрый день!

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Пт 16 ноя 2012 08:45

Добрый день,

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

vladevart
Сообщения: 2
Зарегистрирован: Ср 30 янв 2013 11:35

Re: OCI function is not linked

Сообщение vladevart » Ср 30 янв 2013 15:29

Здравствуйте. У меня проблема с такой же диагностикой.

Версия 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'.
Как выйти из этой ситуации.
Спасибо.

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Чт 31 янв 2013 12:11

Добрый день,

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

vladevart
Сообщения: 2
Зарегистрирован: Ср 30 янв 2013 11:35

Re: OCI function is not linked

Сообщение vladevart » Чт 31 янв 2013 17:38

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Пт 01 фев 2013 10:58

Добрый день,

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

malek
Сообщения: 1
Зарегистрирован: Чт 06 фев 2014 09:01

Re: OCI function is not linked

Сообщение malek » Чт 06 фев 2014 09:38

Добрый день. У меня та же ошибка

Версия 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;

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

Alexp
Devart Team
Сообщения: 349
Зарегистрирован: Пн 27 дек 2010 10:34

Re: OCI function is not linked

Сообщение Alexp » Чт 06 фев 2014 11:58

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

Закрыто