Запись xml в таблицу базы данных Oracle с помощью C#

254
13 июня 2017, 23:46

Пытаюсь из приложения C# записать xml-файл в таблицу Oracle в поле типа XMLTYPE. Вот код:

String str = "D:\\file.xml";
XmlTextWriter textWritter = new XmlTextWriter(str, Encoding.UTF8);
textWritter.Formatting = Formatting.Indented;
textWritter.WriteStartDocument();
textWritter.WriteStartElement("NAME");
textWritter.WriteString(TextBox1.Text);
textWritter.WriteEndElement();
textWritter.Close();
con.Open();
OracleCommand com = new OracleCommand("insert into test2 (name) VALUES (test2_seq.NextVal, XMLType('<test id=\"1\"><name>Сергей</name></test>'))", con);
com.ExecuteNonQuery();
con.Close();
FillGrid();

Но вылетает на строчке

com.ExecuteNonQuery();

Вот с такой вот ошибкой:

Не могу понять как поле типа XMLType может переполниться. Спасибо за помощь заранее.

Answer 1

Ошибка в том, что вы хотите заполнять только поле "name", а передаете в INSERT 2 значения: test2_seq.NextVal и XMLType('Сергей')

Должно быть что то одно или указано 2 поля:

INSERT INTO test2 (ID, name) VALUES (test2_seq.NextVal, XMLType('<test id=\"1\"><name>Сергей</name></test>'))
READ ALSO
Как лучше сделать блок самоконтроля для учебного комплекса?

Как лучше сделать блок самоконтроля для учебного комплекса?

Делаю учебно-исследовательский комплексНужно реализовать блок самоконтроля: т

202
Ссылка на объект не указывает на экземпляр объекта. Excel

Ссылка на объект не указывает на экземпляр объекта. Excel

Добрый вечер всемЯ добавил в форму DataGridView и Button

288
&#39;ApplicationDto&#39; does not contain a definition for &#39;Applications&#39;

'ApplicationDto' does not contain a definition for 'Applications'

Привет! Задача -NET Core API для ведения учёта заявок

218
oodb Perst операции CRUD [требует правки]

oodb Perst операции CRUD [требует правки]

Здесь есть кто-нибудь, кто работал с Perst? Помогите пожалуйста) Не понимаю как она устроена, не могу даже вывести содержимое базы на экранПишу...

219