Что я делаю, так это вставляю данные в таблицы, используя хранимую процедуру в формате XML
.Вот то, что генерирует мой XML.
<clsXmlAttributes><displayFieldName>STRUCTURE_NAME</displayFieldName><fieldAliases><OBJECTID>OBJECTID</OBJECTID><STRUCTURE_NAME>STRUCTURE_NAME</STRUCTURE_NAME><INVENTORY_STATUS_CODE>INVENTORY_STATUS_CODE</INVENTORY_STATUS_CODE><RJ_SAPID>RJ_SAPID</RJ_SAPID><RJ_COLO_SAPID>RJ_COLO_SAPID</RJ_COLO_SAPID><RJ_NETWORK_ENTITY_ID>RJ_NETWORK_ENTITY_ID</RJ_NETWORK_ENTITY_ID><RJ_MAINTENANCE_ZONE_CODE>RJ_MAINTENANCE_ZONE_CODE</RJ_MAINTENANCE_ZONE_CODE><RJ_SITE_NAME>RJ_SITE_NAME</RJ_SITE_NAME><RJ_SITE_ADDRESS>RJ_SITE_ADDRESS</RJ_SITE_ADDRESS><RJ_STRUCTURE_TYPE>RJ_STRUCTURE_TYPE</RJ_STRUCTURE_TYPE><TYPE_NAME>TYPE_NAME</TYPE_NAME><RJ_LAST_MODIFIED_BY>RJ_LAST_MODIFIED_BY</RJ_LAST_MODIFIED_BY><RJ_LAST_MODIFIED_DATE>RJ_LAST_MODIFIED_DATE</RJ_LAST_MODIFIED_DATE><RJ_STATUS>RJ_STATUS</RJ_STATUS><PLACEMENT_DATE>PLACEMENT_DATE</PLACEMENT_DATE><RJ_CITY_CODE>RJ_CITY_CODE</RJ_CITY_CODE><RJ_R4G_STATE_CODE>RJ_R4G_STATE_CODE</RJ_R4G_STATE_CODE><RJ_DISTRICT_CODE>RJ_DISTRICT_CODE</RJ_DISTRICT_CODE><RJ_TALUK_CODE>RJ_TALUK_CODE</RJ_TALUK_CODE><RJ_COMMISSIONING_DATE>RJ_COMMISSIONING_DATE</RJ_COMMISSIONING_DATE><RJ_INSERVICE_DATE>RJ_INSERVICE_DATE</RJ_INSERVICE_DATE><RJ_JC_CODE>RJ_JC_CODE</RJ_JC_CODE><RJ_JIOPOINT_SAPCODE>RJ_JIOPOINT_SAPCODE</RJ_JIOPOINT_SAPCODE><RJ_COMPANY_CODE_1>RJ_Company_Code_1</RJ_COMPANY_CODE_1><RJ_COMPANY_CODE_2>RJ_Company_Code_2</RJ_COMPANY_CODE_2></fieldAliases><fields><name>OBJECTID</name><type>esriFieldTypeOID</type><alias>OBJECTID</alias></fields><fields><name>STRUCTURE_NAME</name><type>esriFieldTypeString</type><alias>STRUCTURE_NAME</alias><length>20</length></fields><fields><name>INVENTORY_STATUS_CODE</name><type>esriFieldTypeString</type><alias>INVENTORY_STATUS_CODE</alias><length>4</length></fields><fields><name>RJ_SAPID</name><type>esriFieldTypeString</type><alias>RJ_SAPID</alias><length>18</length></fields><fields><name>RJ_COLO_SAPID</name><type>esriFieldTypeString</type><alias>RJ_COLO_SAPID</alias><length>600</length></fields><fields><name>RJ_NETWORK_ENTITY_ID</name><type>esriFieldTypeString</type><alias>RJ_NETWORK_ENTITY_ID</alias><length>18</length></fields><fields><name>RJ_MAINTENANCE_ZONE_CODE</name><type>esriFieldTypeString</type><alias>RJ_MAINTENANCE_ZONE_CODE</alias><length>25</length></fields><fields><name>RJ_SITE_NAME</name><type>esriFieldTypeString</type><alias>RJ_SITE_NAME</alias><length>150</length></fields><fields><name>RJ_SITE_ADDRESS</name><type>esriFieldTypeString</type><alias>RJ_SITE_ADDRESS</alias><length>255</length></fields><fields><name>RJ_STRUCTURE_TYPE</name><type>esriFieldTypeString</type><alias>RJ_STRUCTURE_TYPE</alias><length>50</length></fields><fields><name>TYPE_NAME</name><type>esriFieldTypeString</type><alias>TYPE_NAME</alias><length>20</length></fields><fields><name>RJ_LAST_MODIFIED_BY</name><type>esriFieldTypeString</type><alias>RJ_LAST_MODIFIED_BY</alias><length>50</length></fields><fields><name>RJ_LAST_MODIFIED_DATE</name><type>esriFieldTypeDate</type><alias>RJ_LAST_MODIFIED_DATE</alias><length>36</length></fields><fields><name>RJ_STATUS</name><type>esriFieldTypeString</type><alias>RJ_STATUS</alias><length>50</length></fields><fields><name>PLACEMENT_DATE</name><type>esriFieldTypeDate</type><alias>PLACEMENT_DATE</alias><length>36</length></fields><fields><name>RJ_CITY_CODE</name><type>esriFieldTypeString</type><alias>RJ_CITY_CODE</alias><length>4</length></fields><fields><name>RJ_R4G_STATE_CODE</name><type>esriFieldTypeString</type><alias>RJ_R4G_STATE_CODE</alias><length>2</length></fields><fields><name>RJ_DISTRICT_CODE</name><type>esriFieldTypeString</type><alias>RJ_DISTRICT_CODE</alias><length>4</length></fields><fields><name>RJ_TALUK_CODE</name><type>esriFieldTypeString</type><alias>RJ_TALUK_CODE</alias><length>4</length></fields><fields><name>RJ_COMMISSIONING_DATE</name><type>esriFieldTypeDate</type><alias>RJ_COMMISSIONING_DATE</alias><length>36</length></fields><fields><name>RJ_INSERVICE_DATE</name><type>esriFieldTypeDate</type><alias>RJ_INSERVICE_DATE</alias><length>36</length></fields><fields><name>RJ_JC_CODE</name><type>esriFieldTypeString</type><alias>RJ_JC_CODE</alias><length>25</length></fields><fields><name>RJ_JIOPOINT_SAPCODE</name><type>esriFieldTypeString</type><alias>RJ_JIOPOINT_SAPCODE</alias><length>30</length></fields><fields><name>RJ_COMPANY_CODE_1</name><type>esriFieldTypeSmallInteger</type><alias>RJ_Company_Code_1</alias></fields><fields><name>RJ_COMPANY_CODE_2</name><type>esriFieldTypeSmallInteger</type><alias>RJ_Company_Code_2</alias></fields><features><attributes><OBJECTID>11902657</OBJECTID><STRUCTURE_NAME>TWR:CELL::11902657</STRUCTURE_NAME><INVENTORY_STATUS_CODE>IPL</INVENTORY_STATUS_CODE><RJ_SAPID>I-AP-ABEK-ENB-I001</RJ_SAPID><RJ_COLO_SAPID>I-AP-ABEK-ENB-I001</RJ_COLO_SAPID><RJ_NETWORK_ENTITY_ID>INAPABEKABEKTW6001</RJ_NETWORK_ENTITY_ID><RJ_MAINTENANCE_ZONE_CODE>INTLDCPL01</RJ_MAINTENANCE_ZONE_CODE><RJ_SITE_NAME>Adloor</RJ_SITE_NAME><RJ_SITE_ADDRESS>SURVEY NO.121, ADLOOR VILLAGE, KAMAREDDY MANDAL, NIZAMABAD DIST.Telangana 503111</RJ_SITE_ADDRESS><RJ_STRUCTURE_TYPE>eNodeB</RJ_STRUCTURE_TYPE><TYPE_NAME>CELLULAR</TYPE_NAME><RJ_LAST_MODIFIED_BY>IN\maddirevula.srujana</RJ_LAST_MODIFIED_BY><RJ_LAST_MODIFIED_DATE>1542473349000</RJ_LAST_MODIFIED_DATE><RJ_STATUS>RFC</RJ_STATUS><PLACEMENT_DATE>1542473348000</PLACEMENT_DATE><RJ_CITY_CODE>ABEK</RJ_CITY_CODE><RJ_R4G_STATE_CODE>TG</RJ_R4G_STATE_CODE><RJ_DISTRICT_CODE>KMDD</RJ_DISTRICT_CODE><RJ_TALUK_CODE>SSNR</RJ_TALUK_CODE><RJ_COMMISSIONING_DATE /><RJ_INSERVICE_DATE /><RJ_JC_CODE>I-AP-KMDD-JCO-0001</RJ_JC_CODE><RJ_JIOPOINT_SAPCODE /><RJ_COMPANY_CODE_1>6000</RJ_COMPANY_CODE_1><RJ_COMPANY_CODE_2 /></attributes></features></clsXmlAttributes>
Из исследований я могу предположить, что параметры даты генерируются в целых числах в приведенном выше XML.как показано ниже, в результате чего литерал не совпадает с ошибкой строки формата
<PLACEMENT_DATE>1542473348000</PLACEMENT_DATE>
Ниже представлена моя хранимая процедура, которую я использую для вставки данных в таблицу.
PROCEDURE sp_insertinfo_xml ( strxml IN CLOB,
pcnt VARCHAR2,
psapid VARCHAR2,
pinventory_type VARCHAR2,
pos IN NUMBER ) AS
BEGIN
IF(pos = 1) THEN
BEGIN
INSERT INTO test_14032019
(
objectid,
rj_sapid,
rj_colo_sapid,
rj_network_entity_id,
structure_name,
inventory_status_code,
rj_maintenance_zone_code,
rj_site_name,
rj_site_address,
rj_structure_type,
type_name,
rj_last_modified_by,
rj_last_modified_date,
rj_status,
inventory_type,
cnt,
inputsapid,
bothcolorjsapid,
equpcnt,
PLACEMENT_DATE,
rj_city_code,
rj_r4g_state_code,
rj_district_code,
rj_taluk_code,
RJ_COMMISSIONING_DATE,
RJ_INSERVICE_DATE ,
rj_jc_code,
rj_jiopoint_sapcode,
rj_company_code_1,
rj_company_code_2
)
SELECT objectid,
rj_sapid,
rj_colo_sapid,
rj_network_entity_id,
structure_name,
inventory_status_code,
rj_maintenance_zone_code,
rj_site_name,
rj_site_address,
rj_structure_type,
type_name,
rj_last_modified_by,
rj_last_modified_date,
rj_status,
pinventory_type,
pcnt,
psapid,
bothcolorjsapid,
'' ,
PLACEMENT_DATE,
rj_city_code,
rj_r4g_state_code,
rj_district_code,
rj_taluk_code,
RJ_COMMISSIONING_DATE,
RJ_INSERVICE_DATE ,
rj_jc_code,
rj_jiopoint_sapcode,
rj_company_code_1,
rj_company_code_2
FROM XMLTABLE( 'clsXmlAttributes/features/attributes' passing xmltype(''
|| strxml
|| '') COLUMNS --describe columns and path to them:
objectid VARCHAR2(900) path './OBJECTID', rj_sapid VARCHAR2(900) path './RJ_SAPID', rj_colo_sapid VARCHAR2(900) path './RJ_COLO_SAPID', rj_network_entity_id VARCHAR2(900) path './RJ_NETWORK_ENTITY_ID', structure_name VARCHAR2(900) path './STRUCTURE_NAME', inventory_status_code VARCHAR2(900) path './INVENTORY_STATUS_CODE', rj_maintenance_zone_code VARCHAR2(900) path './RJ_MAINTENANCE_ZONE_CODE', rj_site_name VARCHAR2(900) path './RJ_SITE_NAME', rj_site_address VARCHAR2(900) path './RJ_SITE_ADDRESS', rj_structure_type VARCHAR2(900) path './RJ_STRUCTURE_TYPE', type_name VARCHAR2(900) path './TYPE_NAME', rj_last_modified_by VARCHAR2(900) path './RJ_LAST_MODIFIED_BY', rj_last_modified_date VARCHAR2(900) path './RJ_LAST_MODIFIED_DATE', rj_status VARCHAR2(900) path './RJ_STATUS', bothcolorjsapid VARCHAR2(900) path './BOTHCOLORJSAPID',
PLACEMENT_DATE VARCHAR2(900) PATH './PLACEMENT_DATE',
rj_city_code VARCHAR2(900) path './RJ_CITY_CODE', rj_r4g_state_code VARCHAR2(900) path './RJ_R4G_STATE_CODE', rj_district_code VARCHAR2(900) path './RJ_DISTRICT_CODE', rj_taluk_code VARCHAR2(900) path './RJ_TALUK_CODE',
RJ_COMMISSIONING_DATE VARCHAR2(900) PATH './RJ_COMMISSIONING_DATE',
RJ_INSERVICE_DATE VARCHAR2(900) PATH './RJ_INSERVICE_DATE',
rj_jc_code VARCHAR2(900) path './RJ_JC_CODE', rj_jiopoint_sapcode VARCHAR2(900) path './RJ_JIOPOINT_SAPCODE', rj_company_code_1 VARCHAR2(900) path './RJ_COMPANY_CODE_1', rj_company_code_2 VARCHAR2(900) path './RJ_COMPANY_CODE_2' ) xmlt;
END;
Подскажите, пожалуйста, как я могу решить эту проблему