powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Бьюсь головой об стену - яд не помогает...
11 сообщений из 11, страница 1 из 1
Бьюсь головой об стену - яд не помогает...
    #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
Бьюсь головой об стену - яд не помогает...
    #34922837
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black SavageРазработка ведется, с использованием ODB ODBC Database Interface
Приложение коннектится через Native database driver
А почему бы и приложению не ходить тогда через ODB ODBC Database Interface?
...
Рейтинг: 0 / 0
Бьюсь головой об стену - яд не помогает...
    #34922890
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин МаркА почему бы и приложению не ходить тогда через ODB ODBC Database Interface?
Марк, данный вопрос чисто риторический и не соответствует уровню моего оклада.
У нас PowerBuilder Professional , а в нем:
The PowerBuilder Professional and Desktop editions include only the ODBC interface.

Вот и приходится жить с таким дуализмом...
...
Рейтинг: 0 / 0
Бьюсь головой об стену - яд не помогает...
    #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
Бьюсь головой об стену - яд не помогает...
    #34922988
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, Марк, не работал ты в буржуинских конторах.
Я на своей тачке никакой софт не могу поставить, ибо правов нет...
...
Рейтинг: 0 / 0
Бьюсь головой об стену - яд не помогает...
    #34923063
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы начал с этого:
Раз на компе разработчика нельзя использовать native, значит проверить "пустое окно с одним DW" с использованием ODB на компе юзера.
...
Рейтинг: 0 / 0
Бьюсь головой об стену - яд не помогает...
    #34923071
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Black SavageЭх, Марк, не работал ты в буржуинских конторах.
Я на своей тачке никакой софт не могу поставить, ибо правов нет...
Я думаю этот вопрос можно решить путем написания служебной записки или еще как... А так DataWindow вообще-то можно и в блокноте рисовать, чего уж там :)
...
Рейтинг: 0 / 0
Бьюсь головой об стену - яд не помогает...
    #34923112
Black Savage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас народ с Oracle форума помог.
Дело было в правах . Я в шоке. Почему ошибка в приложении
вываливалась другая?

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

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

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


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