У меня есть запрос XML, как показано ниже:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:toy="ToyotaWebServiceHost" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <soapenv:Header/> <soapenv:Body> <toy:CreateOrder soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <orderToCreate xsi:type="enc:WebServiceOrder" xmlns:enc="ToyotaWebServiceHost/encoded"> <OrderRows xsi:type="enc:ArrayOfWebServiceOrderRow" soapenc:arrayType="enc:WebServiceOrderRow[]"/> <OrderId xsi:type="xsd:string">?</OrderId> </orderToCreate> </toy:CreateOrder> </soapenv:Body> </soapenv:Envelope>
Я хотел вставить его в таблицу в столбце clob, но из-за двойных кавычек ("") он не может быть вставлен, и ошибка ниже наблюдаемый . SQL Ошибка : ORA-01756: строка в кавычках неправильно завершена, она не может быть вставлена. Пожалуйста, предложите
Oracle использует одинарные кавычки для разделения строк.
Используйте одинарные кавычки, не нужно экранировать двойные кавычки - см. Пример ниже
create table tab (my_clob clob); insert into tab (my_clob) values ( '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:toy="ToyotaWebServiceHost" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <soapenv:Header/> <soapenv:Body> <toy:CreateOrder soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <orderToCreate xsi:type="enc:WebServiceOrder" xmlns:enc="ToyotaWebServiceHost/encoded"> <OrderRows xsi:type="enc:ArrayOfWebServiceOrderRow" soapenc:arrayType="enc:WebServiceOrderRow[]"/> <OrderId xsi:type="xsd:string">?</OrderId> </orderToCreate> </toy:CreateOrder> </soapenv:Body> </soapenv:Envelope>' ); 1 row inserted.