Estoy interesado en ver si alguien ha conseguido que esta configuración funcione, y si es así, cuántos sacrificios fueron necesarios y a qué deidades.
Espero conseguir finalmente que ArcGIS Server 10 sirva servicios de mapas con datos de Oracle 10g sin involucrar a SDE en absoluto. En este momento sólo estoy tratando de conseguir ArcMap 10 para mostrarme algunos datos. Basado en la documentación de ESRI creo que esto debería ser posible pero los documentos no cubren los problemas que estoy teniendo.
Mi máquina tiene el cliente Oracle 11gR2 y se dice que es compatible con 10g. Todas las máquinas implicadas son de 32 bits, por lo que los problemas de conexión de Oracle específicos de 64 bits no me preocupan (todavía). Puedo hacer sqlplus a la BD con los mismos parámetros de conexión.
Mi mesa tiene este aspecto:
create table arc_ora_test_2 (
m_id int primary key,
attr_1 int,
attr_2 int,
shape SDO_GEOMETRY
);
INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
VALUES ('arc_ora_test_2', 'shape',
SDO_DIM_ARRAY
(SDO_DIM_ELEMENT('LONG', -180.0, 180.0, 0.0000005),
SDO_DIM_ELEMENT('LAT', -90.0, 90.0, 0.0000005)),
4326);
CREATE INDEX arc_ora_test_2_spatial_idx_1
ON arc_ora_test_2(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
Por lo que he podido averiguar, en ArcCatalog 'Add Spatial Database Connection' es exclusivamente para bases de datos habilitadas para SDE, así que no lo estoy usando. Para la conexión a la base de datos OLE he probado los proveedores Microsoft OLE DB para Oracle y Oracle OLE DB. Ambos han probado la conexión a la base de datos. Sin embargo...
La conexión Microsoft OLE DB para Oracle no puede listar las tablas disponibles, informando de un 'Fallo de función general' La conexión OLE DB de Oracle puede listar las tablas, pero cuando trato de renderizar los datos me dice 'Se utilizó una sentencia SQL inválida'
Esta segunda conexión (proveedor de Oracle) llega más lejos, pero parece que ArcMap no está escribiendo SQL correctamente, lo que es impar ya que no hay consultas de definición u otros filtros - se trata simplemente de una consulta "muéstrame todo" que presumiblemente tiene un cuadro delimitador en la cláusula where.
¿Es posible que la existencia del cliente 11gR2 esté engañando a ArcMap para que piense que necesita escribir consultas compatibles con 11gR2? ¿Hay alguna diferencia significativa entre 10g y 11gR2 para las consultas espaciales?
Cualquier idea sobre este dilema sería muy apreciada.