Ich habe die folgende TabelleKann nicht einfügen SDO_GEOMETRY mit mehr als 500 Eckpunkten
CREATE TABLE MYTABLE (MYID VARCHAR2(5), MYGEOM MDSYS.SDO_GEOMETRY);
und die SQL-Anweisung unter:
INSERT INTO MYTABLE (MYID,MYGEOM) VALUES (255, SDO_GEOMETRY(2003, 2554, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), SDO_ORDINATE_ARRAY(-34.921816571,-8.00119170599993, ...,-34.921816571,-8.00119170599993)));
Auch nach mehreren Artikeln über mögliche Lösungen zu lesen, ich konnte nicht herausfinden, wie dieses sdo_geometry-Objekt eingefügt wird. Die Oracle klagt mit dieser Nachricht: ORA-00939 - „zu viele Argumente für funcion“
Ich weiß, dass es nicht möglich ist, mehr als 999 Werte auf einmal einzufügen. Ich habe Stored Procedure-Lösungen versucht, aber ich bin kein Oracle-Experte, und vielleicht habe ich etwas verpasst. Könnte mir jemand ein Beispiel für Code in C# oder plsql (oder beides) mit oder ohne gespeicherte Prozedur geben, um diese Zeile einzufügen?
Ich verwende Oracle 11g, OracleDotNetProvider v 12.1.400 auf VS2015 UND meine Quelle von Geodaten stammt von einem externen JSON (also, keine Datenbank-zu-Datenbank) und ich kann nur Lösungen mit diesem Anbieter verwenden, ohne Datendateien oder direkte Datenbankbehandlung. Ich verwende SQLDeveloper, um die Abfragen zu testen.
Bitte, zeigen Sie mir nicht Artikel, wenn Sie sich nicht sicher sind, dass ich mit dieser Zeile/Wert
Die Abfrage hat mehr als 500 Vertices, und ich konnte hier nicht einfügen, da StackOverflow blockiert. – MiguelPragier