powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2. Проблемма при создании хранимки.
8 сообщений из 8, страница 1 из 1
DB2. Проблемма при создании хранимки.
    #34524945
Hektor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Процедура:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE PROCEDURE KAMO.DB2SAXON ()
    LANGUAGE SQL
BEGIN
	DECLARE xml_clob CLOB(8k);
	DECLARE xslt_clob CLOB(8k);
    SELECT @xml_string := COL1, @xslt_string := COL2
    	FROM KAMO.TEST_TABLE
    	WHERE ID =  1 ;
	SET xml_clob = CAST(@xml_string AS CLOB(8k));
	SET xslt_clob = CAST(@xslt_string AS CLOB(8k));
	
	values KAMO.XSLT2ToClob(
	xml_clob,
	xslt_clob', 
	@tracefile);
	
	SELECT @tracefile;
END;

Ошибка:com.ibm.db2.jcc.c.SqlException: An unexpected token "END-OF-STATEMENT" was found following "END". Expected tokens may include: "JOIN <joined_table>".

Где может быть проблемма?
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525174
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблемы тут везде.
1.
Неправильный синтаксис. Надо:
SELECT cast(COL1 as CLOB(8K)), CAST(COL2 as CLOB(8K)) INTO xml_clob, xslt_clob
FROM KAMO.TEST_TABLE
WHERE ID = 1;
2.
Переменная @tracefile не объявлена (и вообще, 3-й параметр - это файл лога на диске, из него нельзя селект делать).
3.
Компилировать процедуры надо с символом-разделителем команд, отличным от запятой:
Например, поместив этот код в файл, и вызвав
db2 -td! -f file.sql

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE KAMO.DB2SAXON ()
LANGUAGE SQL
BEGIN
    DECLARE @tracefile VARCHAR( 255 ) DEFAULT '/some/file/on/disk';
    DECLARE res CLOB(4K);
    SELECT KAMO.XSLT2ToClob(
	CLOB1,
	CAST(CLOB2 AS CLOB(4K)), 
	@tracefile) INTO res;
    	FROM KAMO.TEST_TABLE
    	WHERE ID =  1 ;
END!
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525290
Hektor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
com.ibm.db2.jcc.c.SqlException: No authorized routine named "XSLT2TOCLOB" of type "FUNCTION" having compatible arguments was found.
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525310
Hektor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поля
COL1 XML,
COL2 VARCHAR(2000);
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525334
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HektorПоля
COL1 XML,
COL2 VARCHAR(2000);Никогда не работал с типом данных XML.
Если есть преобразование CAST(COL1 AS CLOB(4K)), используйте его, если нет, переделайте таблицу, чтоб было COL1 CLOB(...)
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525570
Hektor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cast can only be performed using XMLCAST and depends on the underlying XML schema data type of the XML value. For details, see "XMLCAST
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525608
Hektor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильный вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE PROCEDURE KAMO.DB2SAXON()
    LANGUAGE SQL
BEGIN
	DECLARE xml_clob CLOB(4k);
	DECLARE xslt_clob CLOB(4k);
	DECLARE res CLOB(4k);
	
	DECLARE tracefile VARCHAR( 255 ) DEFAULT '/var/XML/test1.html';
    SELECT KAMO.XSLT2ToClob(
		XMLCAST(COL1 AS CLOB(4K)),  
		CAST(COL2 AS CLOB(4K)),
		tracefile
	)
		INTO res
    	FROM KAMO.TEST_TABLE
    	WHERE ID =  1 ;
    	
END @

Спасибо, Mark, за подсказку.
...
Рейтинг: 0 / 0
DB2. Проблемма при создании хранимки.
    #34525705
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HektorCast can only be performed using XMLCAST and depends on the underlying XML schema data type of the XML value. For details, see "XMLCAST
XMLCAST
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2. Проблемма при создании хранимки.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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