Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Бьюсь головой об стену - яд не помогает... / 11 сообщений из 11, страница 1 из 1
07.11.2007, 16:13
    #34922557
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Имеем:

PowerBuilder 10.5.1 Build 6662
Oracle 10g

Для бызы NLS_CHARACTERSET = UTF8
Разработка ведется, с использованием ODB ODBC Database Interface
Приложение коннектится через Native database driver

Создал, DataWindow object :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
release  10 . 5 ;
datawindow(units= 0  timer_interval= 0  color= 1073741824  processing= 1  HTMLDW=no print.printername="" print.documentname="" print.orientation =  0  print.margin.left =  110  print.margin.right =  110  print.margin.top =  96  print.margin.bottom =  96  print.paper.source =  0  print.paper.size =  0  print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes print.preview.outline=yes hidegrayline=no grid.lines= 0  )
header(height= 120  color="536870912" )
summary(height= 0  color="536870912" )
footer(height= 0  color="536870912" )
detail(height= 80  color="536870912" )
table(column=(type=char( 4000 ) updatewhereclause=yes name=cf_deviation_number_list dbname="CF_DEVIATION_NUMBER_LIST" )
 retrieve="SELECT  getdeviationnumbervic(vic_tabcmp.cmpprog)  cf_deviation_number_list
FROM vic_tabcmp
WHERE vic_tabcmp.cmpdpt = :al_departments" arguments=(("al_departments", number)) )
text(band=header alignment="0" text="Cf Deviation Number List" border="0" color="33554432" x="5" y="4" height="76" width="1847" html.valueishtml="0"  name=cf_deviation_number_list_t visible="1"  font.face="Tahoma" font.height="-12" font.weight="400"  font.family="2" font.pitch="2" font.charset="204" background.mode="2" background.color="1073741824" )
column(band=detail id= 1  alignment="0" tabsequence= 32766  border="0" color="33554432" x="9" y="0" height="76" width="1842" format="[general]" html.valueishtml="0"  name=cf_deviation_number_list visible="1" edit.limit= 0  edit.case=any edit.focusrectangle=no edit.autoselect=no  font.face="Tahoma" font.height="-12" font.weight="400"  font.family="2" font.pitch="2" font.charset="204" background.mode="2" background.color="1073741824" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" pagingmethod= 0  generatedddwframes="1" )
xhtmlgen() cssgen(sessionspecific="0" )
xmlgen(inline="0" )
xsltgen()
jsgen()
export.xml(headgroups="1" includewhitespace="0" metadatatype= 0  savemetadata= 0  )
import.xml()
export.pdf(method= 0  distill.custompostscript="0" xslfop.print="0" )
export.xhtml()

Это DataWindow ретривится в Painter без всяких проблем. Также, SQL код
обрабатывается без проблем в SQL Developer . Когда ретрив идет из приложения, лезет
ошибка. Для теста сделал пустое окно с одним DW , т.е. код предков явно не влияет.
Ошибка:

SQLDBCode: 904
SQLErrText: Select Error: ORA-00904: : invalid identifier
SQLSyntax: SELECT getdeviationnumbervic(vic_tabcmp.cmpprog) cf_deviation_number_list
FROM vic_tabcmp
WHERE vic_tabcmp.cmpdpt = :al_departments
Row: 0


Для полноты и ясности картины привожу код функции:
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
CREATE OR REPLACE FUNCTION getdeviationnumbervic(
p_sample_id IN vic_tabcmp.cmpprog%TYPE,   p_separator IN VARCHAR2 DEFAULT ',') RETURN VARCHAR2 IS

 CURSOR cur_devnum IS
SELECT devnum
FROM vic_tabdev,
  vic_tabdevcmp
WHERE vic_tabdevcmp.cmpprog = p_sample_id
 AND vic_tabdevcmp.devprog = vic_tabdev.devprog
ORDER BY devnum ASC;

v_string VARCHAR2( 3000 ) := NULL;
v_separator VARCHAR2( 10 ) := NULL;
v_count NUMBER( 9 ) :=  0 ;

BEGIN

  -- Define a default separator if the one provided if empty or NULL

  IF LTRIM(RTRIM(nvl(p_separator,   ''))) IS
  NULL THEN
    v_separator := ',';
  ELSE
    v_separator := p_separator;
  END IF;

  -- Browse the deviation numbers
  FOR v_devnum IN cur_devnum
  LOOP

    IF v_devnum.devnum IS NOT NULL THEN
      v_string := v_string || v_devnum.devnum || v_separator || ' ';
    END IF;

    v_count := v_count +  1 ;
  END LOOP;

  IF v_count >  0  THEN

    IF v_string IS NOT NULL THEN

      -- Remove any spaces
      v_string := LTRIM(RTRIM(v_string));

      -- Remove last separator        
      v_string := SUBSTR(v_string,    1 ,   LENGTH(v_string) -LENGTH(v_separator));
    END IF;

    v_string := '*Caused deviations (' || v_count || '): ' || v_string;

  END IF;

  RETURN v_string;

EXCEPTION
WHEN others THEN
  DBMS_OUTPUT.PUT_LINE('Exception in GetDeviationNumberVic: ' || SQLCODE || ' - ' || sqlerrm);
  RAISE;

END getdeviationnumbervic;

Как мне кажется, дело в данных, которые в базе. Хотя, после дня боев я уже не знаю о
чем думать. Подскажите, кто что может. Направьте на путь истинный...
...
Рейтинг: 0 / 0
07.11.2007, 16:56
    #34922837
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Black SavageРазработка ведется, с использованием ODB ODBC Database Interface
Приложение коннектится через Native database driver
А почему бы и приложению не ходить тогда через ODB ODBC Database Interface?
...
Рейтинг: 0 / 0
07.11.2007, 17:05
    #34922890
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Локшин МаркА почему бы и приложению не ходить тогда через ODB ODBC Database Interface?
Марк, данный вопрос чисто риторический и не соответствует уровню моего оклада.
У нас PowerBuilder Professional , а в нем:
The PowerBuilder Professional and Desktop editions include only the ODBC interface.

Вот и приходится жить с таким дуализмом...
...
Рейтинг: 0 / 0
07.11.2007, 17:17
    #34922961
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
авторУ нас PowerBuilder Professional, а в нем:
The PowerBuilder Professional and Desktop editions include only the ODBC interface.

Вот и приходится жить с таким дуализмом...
Ну так возьмите Enterprise (временно) и посимотрите что там происходит. Вообще так разрабатывать - черевато, ибо разные интерфейсы у PB имеют свои особенности. Наталкивался на глюк native драйвера к MS SQL когда при использовании запроса с view (определенный запрос и определенный view) выборка возвращалась нормально, без всяких кодов ошибок, а на следующем запросе (любом) сваливалась с ошибкой. Причем лечилось заменой view его определение в create view! (или выполнением "пустого" запроса который завершится с ошибкой).
...
Рейтинг: 0 / 0
07.11.2007, 17:22
    #34922988
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Эх, Марк, не работал ты в буржуинских конторах.
Я на своей тачке никакой софт не могу поставить, ибо правов нет...
...
Рейтинг: 0 / 0
07.11.2007, 17:38
    #34923063
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Я бы начал с этого:
Раз на компе разработчика нельзя использовать native, значит проверить "пустое окно с одним DW" с использованием ODB на компе юзера.
...
Рейтинг: 0 / 0
07.11.2007, 17:40
    #34923071
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Black SavageЭх, Марк, не работал ты в буржуинских конторах.
Я на своей тачке никакой софт не могу поставить, ибо правов нет...
Я думаю этот вопрос можно решить путем написания служебной записки или еще как... А так DataWindow вообще-то можно и в блокноте рисовать, чего уж там :)
...
Рейтинг: 0 / 0
07.11.2007, 17:52
    #34923112
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Щас народ с Oracle форума помог.
Дело было в правах . Я в шоке. Почему ошибка в приложении
вываливалась другая?

Ладно, хр..н с ней. Пошел править. Усем СПАСИБО!
...
Рейтинг: 0 / 0
15.11.2007, 14:30
    #34942195
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Black SavageЩас народ с Oracle форума помог.
Дело было в правах . Я в шоке. Почему ошибка в приложении
вываливалась другая?

Ладно, хр..н с ней. Пошел править. Усем СПАСИБО!
Как это другая? Оно же говорило: SQLErrText: Select Error: ORA-00904 : : invalid identifier
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
30.09.2009, 15:15
    #36225349
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Хм, как раз хотел написать - а не под разными ли пользователями ведется разработка на ПБ и выполняется в рантайме :)

У меня такие глюки бывали именно в этой ситуации. Разработка под суперпользователем, а под обычным не работает. Или забывчивость указывать схему и проч...
...
Рейтинг: 0 / 0
30.09.2009, 15:16
    #36225355
Vadim Romanenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бьюсь головой об стену - яд не помогает...
Е-мое, поиск не всегда рулить :):):):) Извиняюсь за поднятие темы из глубины веков...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Бьюсь головой об стену - яд не помогает... / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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