Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Длинное значение ХП / 5 сообщений из 5, страница 1 из 1
07.09.2009, 08:23
    #36181015
Rust()
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинное значение ХП
Делаю вызов ХП
Код: plaintext
1.
2.
3.
4.
5.
String sql = "call DB2ADMIN.LOAD_TYPE_PROCESS( ?, ?, ?, ?, ?, ? )";
PreparedStatement psLOAD_TYPE_PROCESS = connection.prepareCall(sql);

... //set vars
ResultSet rset = preparedStatement.executeQuery();
Один из параметров ХП имеет тип CLOB, делаю такой сеттер:
Код: plaintext
1.
2.
ps.setCharacterStream(i +  1 , new CharacterStream(
				new StringReader(clob.getStr())), size);
Размер такого CLOBA 1.5 мб, поле в таблице 10мб, параметр в ХП 10 мб, при выполнении executeQuery() говорит что слишком длинное значение. В чем причина?
...
Рейтинг: 0 / 0
08.09.2009, 07:21
    #36183102
BuryCommoner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинное значение ХП
Rust(), Какое сообщение об ошибке выдается? Уверены, что именно в данном параметре слишком длинное значение?

---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
08.09.2009, 08:10
    #36183128
Rust()
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинное значение ХП
выдается закодированное сообщение (видимо от DB2)
Код: plaintext
1.
2.
3.
[ 07 . 09 . 09   17 : 23 : 07 : 750  AMST] 0000001f SystemErr     R бышјъюь фышээюх чэрїхэшх "<?xml version=" 1 . 0 "?> 
 
<process-definition name="Чря№юёФШЫ".
то что в теге - это первые строки содержимого CLOB. Перекодировка содержимого и говорит что слишком длинное значение.
...
Рейтинг: 0 / 0
08.09.2009, 09:06
    #36183182
BuryCommoner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинное значение ХП
Напишите код, скртытый под ... //set vars - установка всех параметров и заголовок хранимой процедуры.


---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
08.09.2009, 12:23
    #36183742
Rust()
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длинное значение ХП
Код: 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.
private static void setVariables(final PreparedStatement ps,
			final Object[] variables) throws SQLException {
		int variablesLength = variables.length;
		Object variable;
		for (int i =  0 ; i < variablesLength; i++) {
			variable = variables[i];

			if (variable instanceof String) {
				String var = (String) variable;
				ps.setString(i +  1 , (String) variable);
			} else if (variable instanceof Integer) {
				int value = ((Integer) variable).intValue();
				ps.setInt(i +  1 , value);
			} else if (variable instanceof Date) {
				Date value = (Date) variable;
				ps.setDate(i +  1 , value);
			} else if (variable instanceof Double) {
				double value = ((Double) variable).doubleValue();
				ps.setDouble(i +  1 , value);
			} else if (variable instanceof Long) {
				long value = ((Long) variable).longValue();
				ps.setLong(i +  1 , value);
			} else if (variable instanceof MyClob) {	
				MyClob clob = (MyClob) variable;
				ps.setCharacterStream(i +  1 , new CharacterStream(
						new StringReader(clob.getStr())), clob.getSize());

			} else {
				ps.setObject(i +  1 , variable);
			}
		}
	}
Код: 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.
public class MyClob {
    String str;


    public MyClob(String str) {
        this.str = str;
    }

    public int getSize() {
        return str.length();
    }


    public String getStr() {
        return str;
    }
    
    public char[] getChar() {
    	
    	char[] ch = new char[getStr().length()];
		StringReader stringReader = new StringReader(getStr());
		int chr =  0 ;
		int ii =  0 ;
		try {
			while ((chr = stringReader.read()) != - 1 ) {
				ch[ii] = (char) chr;
				ii++;
			}
		} catch (IOException e) {
		}

    	return ch;
    }
}
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Длинное значение ХП / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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