Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

OCI   Найти похожие ветки 

 
vecna ©   (2005-11-21 21:06) [0]

А нет ли у кого примерчика написанного с прямым обращением к OCI, которая коннектится к базе и выполняет запрос или процедурку. Желательно на Delphi. Можно и на C.
Исходники ODAC, DAO и т.д. не предлагать =)

Вроде как косяк в 9ке, хочу быть точно уверенным.


 
ANB ©   (2005-11-21 21:16) [1]


> vecna ©   (21.11.05 21:06)

Какая версия в 9-ке ? И какой косяк ?


 
vecna ©   (2005-11-21 21:34) [2]

9206
косяк плавающий, причины его появления я не могу сформулировать, именно поэтому нужен пример воспроизводящий ошибку. проявляется при работе с CLOBами при вызове с клиента например такой процедуры:

create or replace procedure TEST(STABLENAME in varchar2, CMODULE in CLOB) as
begin
 null;
end;

CLOB нужно создать не на сервере (в SQL-блоке), а через OCI. Например вот так (ODAC):


 procedure LoadClob(const ATable, AClob: string);
 var
   LClob: TOraLob;
 begin
   LClob := TOraLob.Create(LSession.OCISvcCtx);
   try
     LClob.CreateTemporary(ltClob);
     LClob.AsString := AClob;
     LClob.WriteLob;
     with TOraStoredProc.Create(nil) do
     try
       StoredProcName := "TEST_CLOB";
       Session := LSession;
       Prepare;
       ParamByName("STABLENAME").AsString := ATable;
       ParamByName("CMODULE").AsOraClob := LClob;
       Execute;
     finally
       Free;
     end;
   finally
     LCLob.Free;
   end;
 end;


получаю pl/sql numeric or value error.
достверно известно, что косяк на одном и том же наборе данных не проявляется на версиях 9201 - 9207, за исключением 9206, версия клиента значения не имеет.

я бы дал необходимый набор, но он слишком достаточно большой ~ 42 Мегов.


 
vecna ©   (2005-11-21 21:35) [3]

есессна:

StoredProcName := "TEST";


 
ANB ©   (2005-11-21 22:44) [4]


> vecna ©   (21.11.05 21:35) [3]

Ух млин. Дамс. Исходников у меня нету, но наш оракловый гуру говорит, что в 9 целый список косяков. Я вообще то блобы на сервере создаю. Тот же гуру грит, что вышел патч 9.2.0.8.


 
vecna ©   (2005-11-21 22:54) [5]

то что косяков там полно я знаю =) уже намучался... просто большинство из них достаточно легко локализуются, а вот с этим просто засада какая-то...


 
evvcom ©   (2005-11-22 09:05) [6]

Я парился с блобами и нашел, что другие варианты, кроме как делать блоб-параметр in/out, не проходят, что собственно (другие варианты) у меня так и не получилось. Т.е. делаю примерно так:

create or replace MyProc(
 pId MyTable.id %type,
 pBody in out MyTable.body %type
) is
begin
 update MyTable t
   set t.body = pBody
 where t.id = pId
 returning t.body into pBody;
end;

Ну и в Дельфях:
TOraParam(Params.ParamByName("pBody")).AsOraBlob.LoadFromFile(EditBody.Text); или ...AsOraBlob.Clear;
Это создание блоба на сервере или клиенте? Скорее на сервере, хотя...


 
vecna ©   (2005-11-22 11:05) [7]

> TOraParam(Params.ParamByName("pBody")).AsOraBlob.LoadFromFile(EditBody.Text);

такой вариант действительно будет работать только с in/out. но с этим проблем нет - это понятно.


 
Desdechado ©   (2005-11-22 11:39) [8]

погляди здесь http://www.stlport.com/download.html
это библиотека прямого доступа на C, там и примерчики есть


 
Pazitron_Brain ©   (2005-11-22 11:45) [9]

mailto: oci.base.delphi

Выполняю запрос...



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
5-1113813834
Max_005
2005-04-18 12:43
2005.12.11
Вывод текста в собственном компоненте


14-1132427628
YurikGL
2005-11-19 22:13
2005.12.11
Помогите с мат. моделью.


2-1132259609
FShadow
2005-11-17 23:33
2005.12.11
При выполнении SQL запроса выдает ошибку. Помогите!!!


3-1130435799
BigSerg
2005-10-27 21:56
2005.12.11
Unicode+Ado+Oracle


14-1132336814
Separator
2005-11-18 21:00
2005.12.11
Антивирусники





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский