powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / клиент vfp9 server Orakle реалный ли?
19 сообщений из 19, страница 1 из 1
клиент vfp9 server Orakle реалный ли?
    #33954560
puls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
клиент vfp9 server Orakle реалный ли?
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33954824
puls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pulsклиент vfp9 server Orakle реалный ли?
Не кто не попробывал?
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33955010
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Набери в поиске Oracle и увидишь.
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33955886
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puls pulsклиент vfp9 server Orakle реалный ли?
Не кто не попробывал?

VFP7.0 + Oracle пробовал.. и что???

С клиента через SQLEXEC посылаются команды на сервер... и все... в чем вопрос-то???

ах да.. связь через ОДБС.. но можно наверное и через ОЛЕ ДБ.. и еще как-то
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33956357
puls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aki puls[quot puls]клиент vfp9 server Orakle реалный ли?
Не кто не попробывал?

VFP7.0 + Oracle пробовал.. и что???

Oracle возврашеть курсор на fox?
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33956749
puls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle возврашеть курсор на fox?
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33956918
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pulsНе кто не попробывал?
Не кто не попробывал... :-)

P.S. Очень даже реалный!
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33956934
Vch1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VFP 8.0 + oracle 9.2 + ODBC - нормально работает.
Хранимые процедуры вызываются нормально. Нет возможности передать курсор в хранимую процедуру - в фоксе нет курсорной переменной. Есть проблема с дробными числами при получении курсора из wievs c union.
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33957292
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP9SP1 + oracle 9.2(10g) + ODBC(Oracle) -тоже нормально работает,
Мощный сервер + , быстрый клиент +
Передача курсора обсуждалась на Oracle-форуме. Появились временные таблицы (живут отдельно для каждой сессии) - вот тебе и передача курсора...
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33957442
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pulsOracle возврашеть курсор на fox?


YES!!!!!


=SQLEXEC(.....,'SELECT .. FROM ... WHERE.....', MyCursor)

получу на клиенте MyCursor

Нормальная связка.. вот только одно но....
Я вообще-то склонилсмя к ПостгреСКЛ...
а там вот такая фича

Функция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION EngInBPass(int8)
  RETURNS SETOF enginbp AS
$BODY$
declare enginbp_row enginbp%rowtype;
DECLARE nBPId int8 := $ 1  ;
	
begin
	for enginbp_row in select * from enginbp 
			WHERE enginbp.budpassid = nBPId
	loop
		return next enginbp_row;
	end loop;
end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Если из фоксового клиента ее вызову так:

Код: plaintext
SELECT * FROM EngInBPass( 3 )

мне на клиент приходит курсор с набором данных....

Вот как такое с Ораклом проделать - не догадался пока, посему в тьаких случаях даю с клиента не вызой хранимки, а прямой селект...

Буду признателен, если кто поделится живым примером
хранимка на ПЛ/СКЛ + ее вызов из фокса = курсор на клиенте....
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33957535
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aki вот только одно но....
Я вообще-то склонилсмя к ПостгреСКЛ...
а там вот такая фича
Насколько я понял в коде - это очень порочная практика делать то, что делается в Хранимой Процедуре... Делают всегда все возможное, чтобы вернуть конкретную запись (набор записей) без перебора... Либо я не понял мысли, заложенной в Вашем примере...
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33957622
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Ch Либо я не понял мысли, заложенной в Вашем примере...

да это просто недопонимание

Это в Постгре не фича, это там так вызываются хранимые процедуры...
Что в другом языке есть EXECUTE MySP
то в PostgreSQL есть SELECT ... FROM MySP

соответственно, мой пример:
Код: plaintext
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION EngInBPass(int8)
  RETURNS SETOF enginbp AS
$BODY$
.......................
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
Если из фоксового клиента ее вызову так:

И
Код: plaintext
SELECT * FROM EngInBPass( 3 )
вернет мне набор данных, у которых некое поле равно 3

Естествено это такой, как бы "слабенький пример", потому как, можно же просто сделать селект из таблицы, и, получим то же самое, но, в доках по постгре вроде как склюеяются к максимальному использования хранимых процедур, это раз, а два = в постгре я не нашел Параметрических вьюшек (именно того, что есть в фоксе)

Код: plaintext
1.
MyParam =  123 
SELECT ... FROM... WHERE ...=MyParam

вот такая вещь ИМХО решается в Постгре именно через хранимую процедуру, пример которой я и привел....
В Оракле тоже пока что не нашел КАК это реализовать (есть там Рефкурсоры, но не вкурил я еще их...)
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33959879
Vch1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получить курсор с сервера оракле - проблем нет - через select ... from ... where. Полученный курсор обладает свойствами таблицы фокса, что очень удобно. Проблема при передаче курсора в (из) хранимой процедуры оракле.
В делфи можно передавть курсорную переменную (правда не через ОДВС) как параметр хранимой процедуры. В фоксе в операторе call - вызоов хранимой процедуры через ОДВС - нельзя определить параматр с типом курсор. Возможно есть другие средства связи с хранимыми процедурами оракле из фокса, которые позволяют принимать и передавать курсоры в хранимые процедуры. По крайней мере это ограничение фокса, а не оракле.
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33961158
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vch1Получить курсор с сервера оракле - проблем нет - через select ... from ... where.


так-то просто.. но интересует именно из ХП получить курсор, ну так как я выше показал, как это в ПовтгреСКЛ делается...

Да это не Оракл виноват.. я и не говорил, что это оракл

РЕФКУРСОР есть в оракле, вот и прошу - дайте пример рабочей функции с использованием рефкурсора и вызов ее из фокса через ОДБС...

просто я не знаю как это вделать.. а хочется попробовать
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33961177
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aki так-то просто.. но интересует именно из ХП получить курсор, ну так как я выше показал, как это в ПовтгреСКЛ делается...
Оригинал
Oracle SP:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE OR REPLACE PACKAGE Get_today_3 AS
 Type RetCursor Is Ref Cursor;
 Procedure ReturnCursor
 (
   pCursor OUT RetCursor,
   cWarehouse IN detailbohoutput.warehouse%Type,
   cCompany   IN detailbohoutput.company%Type
 );
END;
/
show error
CREATE OR REPLACE PACKAGE BODY Get_today_3 AS
 Procedure ReturnCursor
 (   pCursor OUT RetCursor,
     cWarehouse IN detailbohoutput.warehouse%Type,
     cCompany   IN detailbohoutput.company%Type
  )
 IS
 Begin
  open pCursor for
    select * FROM detailbohoutput 
     where asofdate = trunc(sysdate) - 1  
       and warehouse = cWarehouse
       and company = cCompany ;
 End;
END;
/
show error
Вызов из FoxPro через ORACLE ODBC (Microsoft не работает - надо брать родной):
Код: plaintext
1.
2.
lcSQL = "{call Get_Today_3.ReturnCursor('" ;
+ lcWarehouse + "', '" + lcCompany + "')}"
lnRetVal = SQLEXEC(nHandle, lcSQL, 'crsMyCurosr')
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33961188
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример 2 Oracle:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
CREATE OR REPLACE PACKAGE CustomerGetByID AS
 Type RetCursor Is Ref Cursor;
 Procedure ReturnCursor(
   pCursor OUT RetCursor,
   nKeyID IN Customer.KeyID%Type);
END;
/
show error
CREATE OR REPLACE PACKAGE BODY CustomerGetByID AS
 Procedure ReturnCursor(
   pCursor OUT RetCursor,
   nKeyID IN Customer.KeyID%Type)
 IS
 Begin
  open pCursor for
    select * FROM Customer where KeyID = nKeyID;
 End;
END;
/
show error
FoxPro:
Код: plaintext
1.
2.
lcSQL = "{call Schema.CustomerGetByID.ReturnCursor(" ;
      + TRANSFORM(This.nKeyID) + ")}"
lnRetVal = SQLEXEC(nHandle, lcSQL, 'crsCustomer')
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33961455
puls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПОСБО ВСЕМ!!!ЗА ОТВЕТ!!!
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33966670
Vch1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопросы к Sergey Ch.
При использовании мною ОДБС драйвера оракла символьные данные полученные в курсоре через select и помещенные в память оператором scatter memvar содержали мусор в конце значений. Причем мусор появлялся случайным образом но стабильно. В связи с этим я отказался от его использования. При использовании ОДБС драйвера Майкрософт таких случаев не наблюдалось.
Использовались драйвера поставляемые с VFP 8.
Если вы рекомендуете использование ОДБС драйвера оракла, видимо такой проблемы у вас нет.
Для ОДБС драйвера Майкрософт есть проблема с использованием wievs, содержащих оператор union - дробные числа теряют дробную часть при использовании курсора как источника данных для grid. При этом просмотр курсора через browse показывает правильные данные.
...
Рейтинг: 0 / 0
клиент vfp9 server Orakle реалный ли?
    #33967139
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vch1Вопросы к Sergey Ch.
При использовании мною ОДБС драйвера оракла символьные данные полученные в курсоре через select и помещенные в память оператором scatter memvar содержали мусор в конце значений.....

Если вы рекомендуете использование ОДБС драйвера оракла, видимо такой проблемы у вас нет...
Я об этом не знаю Последний раз я копировал переменные в память в версии FPW 2.6... Сейча есть локальный курсор, его буферизация, с которым очень просто работать и можно отменить все изменения, проверить были ли изменения и отправить изменения на сервер... Курсор - адаптетр с Oracle не пробовал, но я его мало применяю по причине слабого контроля со стороны разработчика (эту тему мы тут где-то месяц назад долго обсуждали)...

Хотя я предпочиатю в последнее время MS SQL Server 2005 - проблем нет вообще (работает, "как написано в книжке"). То есть все новые проекты делаю на основе MS SQL Server 2005 и соответсвенно не очень много общаюсь с Oracle...

Good luck!
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / клиент vfp9 server Orakle реалный ли?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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