Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2. Проблемма при создании хранимки. / 8 сообщений из 8, страница 1 из 1
15.05.2007, 07:40
    #34524945
Hektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
Процедура:
Код: 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
15.05.2007, 09:49
    #34525174
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
Проблемы тут везде.
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
15.05.2007, 10:26
    #34525290
Hektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
com.ibm.db2.jcc.c.SqlException: No authorized routine named "XSLT2TOCLOB" of type "FUNCTION" having compatible arguments was found.
...
Рейтинг: 0 / 0
15.05.2007, 10:29
    #34525310
Hektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
Поля
COL1 XML,
COL2 VARCHAR(2000);
...
Рейтинг: 0 / 0
15.05.2007, 10:32
    #34525334
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
HektorПоля
COL1 XML,
COL2 VARCHAR(2000);Никогда не работал с типом данных XML.
Если есть преобразование CAST(COL1 AS CLOB(4K)), используйте его, если нет, переделайте таблицу, чтоб было COL1 CLOB(...)
...
Рейтинг: 0 / 0
15.05.2007, 11:23
    #34525570
Hektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
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
15.05.2007, 11:31
    #34525608
Hektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
Правильный вариант
Код: 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
15.05.2007, 11:51
    #34525705
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2. Проблемма при создании хранимки.
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
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2. Проблемма при создании хранимки. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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