3 votos

¿Es posible obtener los nombres de columna de una ejecución SELECT de ArcSDESQLExecute?

Estoy ejecutando ArcGIS 10.0 desktop y consultando una base de datos Oracle 11g y escribiendo los resultados de una declaración SELECT en un archivo CSV. Todo funciona muy bien; sin embargo, me encantaría encontrar una forma de incluir los nombres de las columnas en el CSV sin codificarlos directamente en el código.

Mi código se ve así:

obj_sde_conn_ora = arcpyArcSDESQLExecute(server, port, "#", user, password)

sql_ora_select = """SELECT col1, col2
FROM tab"""

sde_return = obj_sde_conn_ora.execute(sql_ora_select)
csv_file = open(out_csv, "wb")
import csv
csv_writer = csv.writer(csv_file, delimiter=";", quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in sde_return:
    csv_writer.writerow([unicode(s).encode("utf8", "replace") for s in row])
del sde_return
csv_file.close()

1voto

Isysavestheday Puntos 11

Obtenga la lista de columnas para una tabla en Oracle utilizando ALL_TAB_COLUMNS desde esta consulta usando ArcSDESQLExecute...

select column_name from all_tab_columns where table_name = 'TABLE_NAME'.

Es posible que la lista devuelta deba procesarse para eliminar las columnas no deseadas.

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