Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / клиент vfp9 server Orakle реалный ли? / 19 сообщений из 19, страница 1 из 1
31.08.2006, 10:26
    #33954560
puls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
клиент vfp9 server Orakle реалный ли?
...
Рейтинг: 0 / 0
31.08.2006, 11:31
    #33954824
puls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
pulsклиент vfp9 server Orakle реалный ли?
Не кто не попробывал?
...
Рейтинг: 0 / 0
31.08.2006, 12:19
    #33955010
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Набери в поиске Oracle и увидишь.
...
Рейтинг: 0 / 0
31.08.2006, 15:49
    #33955886
AKI
AKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
puls pulsклиент vfp9 server Orakle реалный ли?
Не кто не попробывал?

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

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

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

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

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

P.S. Очень даже реалный!
...
Рейтинг: 0 / 0
31.08.2006, 22:34
    #33956934
Vch1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
VFP 8.0 + oracle 9.2 + ODBC - нормально работает.
Хранимые процедуры вызываются нормально. Нет возможности передать курсор в хранимую процедуру - в фоксе нет курсорной переменной. Есть проблема с дробными числами при получении курсора из wievs c union.
...
Рейтинг: 0 / 0
01.09.2006, 08:45
    #33957292
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
VFP9SP1 + oracle 9.2(10g) + ODBC(Oracle) -тоже нормально работает,
Мощный сервер + , быстрый клиент +
Передача курсора обсуждалась на Oracle-форуме. Появились временные таблицы (живут отдельно для каждой сессии) - вот тебе и передача курсора...
...
Рейтинг: 0 / 0
01.09.2006, 09:48
    #33957442
AKI
AKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
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
01.09.2006, 10:17
    #33957535
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Aki вот только одно но....
Я вообще-то склонилсмя к ПостгреСКЛ...
а там вот такая фича
Насколько я понял в коде - это очень порочная практика делать то, что делается в Хранимой Процедуре... Делают всегда все возможное, чтобы вернуть конкретную запись (набор записей) без перебора... Либо я не понял мысли, заложенной в Вашем примере...
...
Рейтинг: 0 / 0
01.09.2006, 10:42
    #33957622
AKI
AKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
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
01.09.2006, 22:05
    #33959879
Vch1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Получить курсор с сервера оракле - проблем нет - через select ... from ... where. Полученный курсор обладает свойствами таблицы фокса, что очень удобно. Проблема при передаче курсора в (из) хранимой процедуры оракле.
В делфи можно передавть курсорную переменную (правда не через ОДВС) как параметр хранимой процедуры. В фоксе в операторе call - вызоов хранимой процедуры через ОДВС - нельзя определить параматр с типом курсор. Возможно есть другие средства связи с хранимыми процедурами оракле из фокса, которые позволяют принимать и передавать курсоры в хранимые процедуры. По крайней мере это ограничение фокса, а не оракле.
...
Рейтинг: 0 / 0
04.09.2006, 09:16
    #33961158
AKI
AKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Vch1Получить курсор с сервера оракле - проблем нет - через select ... from ... where.


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

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

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

просто я не знаю как это вделать.. а хочется попробовать
...
Рейтинг: 0 / 0
04.09.2006, 09:23
    #33961177
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
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
04.09.2006, 09:29
    #33961188
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Пример 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
04.09.2006, 11:09
    #33961455
puls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
СПОСБО ВСЕМ!!!ЗА ОТВЕТ!!!
...
Рейтинг: 0 / 0
05.09.2006, 23:40
    #33966670
Vch1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Вопросы к Sergey Ch.
При использовании мною ОДБС драйвера оракла символьные данные полученные в курсоре через select и помещенные в память оператором scatter memvar содержали мусор в конце значений. Причем мусор появлялся случайным образом но стабильно. В связи с этим я отказался от его использования. При использовании ОДБС драйвера Майкрософт таких случаев не наблюдалось.
Использовались драйвера поставляемые с VFP 8.
Если вы рекомендуете использование ОДБС драйвера оракла, видимо такой проблемы у вас нет.
Для ОДБС драйвера Майкрософт есть проблема с использованием wievs, содержащих оператор union - дробные числа теряют дробную часть при использовании курсора как источника данных для grid. При этом просмотр курсора через browse показывает правильные данные.
...
Рейтинг: 0 / 0
06.09.2006, 10:24
    #33967139
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
клиент vfp9 server Orakle реалный ли?
Vch1Вопросы к Sergey Ch.
При использовании мною ОДБС драйвера оракла символьные данные полученные в курсоре через select и помещенные в память оператором scatter memvar содержали мусор в конце значений.....

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

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

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


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