7 votos

Poner los datos de la tabla a disposición de un servicio de mapas

Estoy tratando de hacer que una tabla no geográfica esté disponible para un servicio de mapas. Pensaba que simplemente se añadía la tabla al MXD y se publicaba con una relación al campo al que estaban vinculados y luego se publicaba el servicio, donde los datos estarían disponibles como una capa de la tabla. He hecho esto, y sólo los datos geográficos se muestran como una capa disponible. ¿Me falta algún paso?

Ahora lo sé, no quiero un Join o una relación; quiero que la tabla esté disponible a través de una consulta en la tabla.

editar

Bien, parece que hay algunos problemas aquí.

Estamos utilizando una conexión directa, y esto necesita Oracle Client instalado en el servidor ArcGIS. Las cuentas SOC y SOM eran una pista falsa. Si vamos directamente a través del puerto de conexión SDE, entonces usted no necesita el cliente, pero como vamos a través de la db, es decir, utilizando la arquitectura de 2 niveles, en lugar de 3 niveles, entonces necesitamos el cliente.

Así que estamos instalando el cliente en el servidor, ya que nunca nos hemos conectado directamente, y publicaré los resultados. Pero ahora, recordándolo, todo parece lógico en realidad, ya que nos saltamos la capa SDE

Esto es para una aplicación web, por lo que los datos se exponen vía REST en la 'red

En realidad no estoy muy seguro de que sea posible, lo cual es muy impar...

editar

Sólo para asegurarme de que no me estoy volviendo loco y de que estoy haciendo todo esto de la manera correcta, estoy creando un MXD, añadiendo una capa de características a la misma, luego añadiendo una tabla "plana" (sin datos geográficos), guardándola y sirviéndola en el servidor de ArcGIS.

Todo eso está bien, ¿no? ¿No estoy loco?

4voto

Arda Xi Puntos 1099

Esto suena como un problema de permisos, ya he lidiado con algo similar antes. Tenía una vista en SQL Server que necesitaba para unirse a un FC en mi MXD para un servicio de mapa, esto es lo que tenía que hacer:

  1. dar a mi cuenta SOC (que en mi caso es una cuenta de dominio) acceso de lectura y ejecución a mi base de datos
  2. crear una conexión ole db en ArcCatalog con login OS
  3. copiar ese archivo odc en el mismo directorio en el que vive mi mxd (esto es con un servicio mxd, por cierto, no msd)
  4. crear una conexión a mi vista utilizando la conexión odc anterior, añadir la vista a mi mxd

Realmente se trata de que tu cuenta SOC tenga acceso a la db, pero por alguna loca razón, ese archivo odc que define la conexión tiene que vivir en el mismo directorio que el mxd detrás del servicio.

4voto

mleykamp Puntos 491

Bien, parece que hay algunos problemas aquí.

Estamos utilizando una conexión directa, y esto necesita Oracle Client instalado en el servidor ArcGIS. Las cuentas SOC y SOM eran una pista falsa. Si vamos directamente a través del puerto de conexión SDE, entonces usted no necesita el cliente, pero como vamos a través de la db, es decir, utilizando la arquitectura de 2 niveles, en lugar de 3 niveles, entonces necesitamos el cliente.

Así que estamos instalando el cliente en el servidor, ya que nunca nos hemos conectado directamente, y publicaré los resultados. Pero ahora, mirando hacia atrás, todo parece lógico realmente, ya que estamos pasando por alto la capa SDE.

RESUELTO:

En general, las conexiones se gestionan de forma transparente al crear el servicio de mapas; sin embargo, para conectarse a una tabla (por ejemplo, para una consulta de la tabla) se necesita lo siguiente:

La versión correspondiente del cliente oracle debe estar instalada en la instancia arcserver

Debe haber una entrada tns en el archivo tnsconnection para la instancia sde a la que se accede

A continuación, debe actualizar el archivo init_server.sh para que arcserver tenga los detalles del entorno del cliente oracle

Normalmente se añade lo siguiente a /apps/arcgis/server10.0/servercore/.Server/init_server.sh

   PATH=$PATH:$HOME/bin
   export PATH
   umask 022

   export ORACLE_BASE=/opt/u01/app/oracle
   export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/client_1
   export TNS_ADMIN=$ORACLE_HOME/network/admin
   export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib
   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

y entonces estás cocinando con gas.

0voto

Luís Oliveira Puntos 2139

Intente crear la tabla dentro de una PGDB sobre la marcha... y utilice la tabla de la PGDB para unirse con los datos espaciales... eso debería funcionar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X