Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для carga2
11 / 9 / 6
Регистрация: 07.11.2013
Сообщений: 335

Передача xml в CallableStatement

03.03.2021, 00:35. Показов 1880. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, товарищи!

Как преобразовать строку в xml переменную и передать ее в параметр CallableStatement?

Добавлено через 5 минут
Вот так не работает
Java
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
 final String xmlStr = "<employees>" + 
                    "   <employee id=\"101\">" + 
                    "        <name>Lokesh Gupta</name>" + 
                    "       <title>Author</title>" + 
                    "   </employee>" + 
                    "   <employee id=\"102\">" + 
                    "        <name>Brian Lara</name>" + 
                    "       <title>Cricketer</title>" + 
                    "   </employee>" + 
                    "</employees>";
 
            //Use method to convert XML string content to XML Document object
            Document doc = convertStringToXMLDocument( xmlStr );
                        Connection conn = conProvider.fetchDbConnection();  
                CallableStatement callableStatement = null;
                PreparedStatement ps = null;
                
                try
                {
                    String sql = "{call u_sp_hpass_batchesadd (?)}";
                    callableStatement = conn.prepareCall(sql);
                    callableStatement.setObject(1, doc);
                    callableStatement.execute();
                }
 
        private static Document convertStringToXMLDocument(String xmlString) 
        {
            //Parser that produces DOM object trees from XML content
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
             
            //API to obtain DOM Document instance
            DocumentBuilder builder = null;
            try
            {
                //Create DocumentBuilder with default configuration
                builder = factory.newDocumentBuilder();
                 
                //Parse the content to Document object
                Document doc = builder.parse(new InputSource(new StringReader(xmlString)));
                return doc;
            } 
            catch (Exception e) 
            {
                e.printStackTrace();
            }
            return null;
        }
Выдает ошибку вот на этой строке callableStatement.setObject(1, doc);
java.sql.SQLException: Unable to convert between com.sun.org.apache.xerces.internal.dom.D eferredDocumentImpl and JAVA_OBJECT.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2021, 00:35
Ответы с готовыми решениями:

CallableStatement - сохранение процедуры или функции
Для того чтобы использовать ранее созданную функцию или процедуру , ее нужно создать и где-то хранить -- This procedure retrieves...

Ошибка выполнения хранимой процедуры на MS SQL Server используя CallableStatement
Для выполнения хранимой процедуры на MS SQL Server использую CallableStatement. При вызове executeQuery на сервере выполняет код типа ...

Передача XML
Для передачи своих данных мне необходимо использовать XML (это объясняется удобством применения: в первом узле пишем команду, которую надо...

3
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
03.03.2021, 10:44
carga2, почему просто строку не хранить?
0
 Аватар для carga2
11 / 9 / 6
Регистрация: 07.11.2013
Сообщений: 335
03.03.2021, 10:56  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
почему просто строку не хранить?
передать строку в процедуру и там ее преобразовать в xml?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
03.03.2021, 16:59
Лучший ответ Сообщение было отмечено carga2 как решение

Решение

carga2, может и процедура не нужна? Обычно это плохое решение.
Если очень надо, передавай строку и в процедуре уже с ней работай как хочешь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2021, 16:59
Помогаю со студенческими работами здесь

TIdFormDataField передача XML
Задача POST запросом отправить xml-текст std::auto_ptr&lt;TStringStream&gt; SS(new TStringStream); ...

XML: передача класса
Меня интересует такой вопрос: Можно ли средствами XML задать класс объекту? как пример &lt;ITEM&gt; &lt;NAME&gt;obj1&lt;/NAME&gt; ...

XML передача на сервер
Ребят, такой глупый вопрос, имеется клиент и сервер, передавать средствами потоков или тупо передавать объекты могу......а вот как мне...

Передача XML параметра
Доброго времени суток. Есть лист двумерных массивов (C#: List&lt;int&gt; , он сериализуется). Он передается параметром в хрнаимую процедуру: ...

Передача xml по TCP/IP
Здравствуйте господа программисты! Столкнулся с такой проблемой. Передаю я значит xmlDocument по сети, его структура: &lt;?xml...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru