Tabla de Vista

Los recursos de tabla con nombre asignado pueden definirse por una vista (consulta de los datos) utilizando una instrucción MI SQL contra una tabla. Lo anterior utiliza MapinfoSQLDataSourceDefinition para especificar la consulta SQL y el nombre de la tabla utilizada en la consulta. Hay dos maneras de definir las tablas de vista: definir tanto la definición para la tabla como la consulta, o especificar una tabla con nombre asignado existente y la consulta.

Las vistas con nombre asignado se basan en tablas con nombre asignado y deben publicar una clave principal en caso de que la tabla con nombre asignado tenga una. A continuación, se enumeran las condiciones previas para publicar una clave principal:
  • La cláusula Seleccionar debe tener una columna de clave principal
  • La consulta Simple no debe incluir el elemento Unirse
  • La tabla con nombre asignado debe tener metadatos de clave principal

Ejemplo

En el siguiente ejemplo, se define la tabla utilizada en la consulta (un origen de datos de archivo TAB denominado World123) y luego se define la consulta (denominada View123). Al convocar esta tabla de vista con nombre asignado, se usa el nombre de la MapinfoSQLDataSourceDefinition (View123).

En este ejemplo, la definición utiliza las siguientes muestras:

  • @filedir@ el directorio en el sistema de archivos donde se ubica el archivo de tabla


<?xml version="1.0" encoding="UTF-8"?>
<NamedDataSourceDefinition version="MXP_WorkSpace_1_5" xmlns="http://www.mapinfo.com/mxp">
	<ConnectionSet>
        <NamedConnectionRef resourceID="/Samples/NamedConnections/SampleData">
            <ConnectionName>SampleData</ConnectionName>
        </NamedConnectionRef>
    </ConnectionSet>
	<DataSourceDefinitionSet>
		<TABFileDataSourceDefinition id="id2" readOnly="false">
			<DataSourceName>World123</DataSourceName>
			<FileName>@filedir@/world.tab</FileName>
		</TABFileDataSourceDefinition>
		<MapinfoSQLDataSourceDefinition id="id3" readOnly="false">
			<DataSourceName>View123</DataSourceName>
			<MapinfoSQLQuery>
				<Query>SELECT Country,Capital,Pop_1994,Pop_Male,Pop_Fem, Obj FROM World123 WHERE Country IN ('India','Canada','Vietnam','Brazil','China','Japan')</Query>
			</MapinfoSQLQuery>
		</MapinfoSQLDataSourceDefinition>
	</DataSourceDefinitionSet>
	<DataSourceRef ref="id3"/>
</NamedDataSourceDefinition>	

En el siguiente ejemplo, se define la tabla utilizada en la consulta (un origen de datos de archivo TAB denominado World123) y luego se define la consulta (denominada View123). Se debe especificar la tabla con nombre asignado mediante una referencia de definición que lleve a la ruta completa de la tabla dentro del repositorio. La consulta se define luego utilizando esta tabla con nombre asignado (especifique también la ruta completa hacia la tabla con nombre asignado). Al convocar esta tabla de vista con nombre asignado, se usa el nombre de la MapinfoSQLDataSourceDefinition (View123).

<?xml version="1.0" encoding="UTF-8"?>
<NamedDataSourceDefinition version="MXP_NamedResource_1_5" xmlns="http://www.mapinfo.com/mxp" >
	<ConnectionSet>
        <NamedConnectionRef resourceID="/Samples/NamedConnections/SampleData">
            <ConnectionName>SampleData</ConnectionName>
        </NamedConnectionRef>
    </ConnectionSet>
	<DataSourceDefinitionSet>
		<NamedDataSourceDefinitionRef id="id0" resourceID="/NamedTables/WorldTable"/>
		<MapinfoSQLDataSourceDefinition id="id3" readOnly="false">
			<DataSourceName>View123</DataSourceName>
			<MapinfoSQLQuery>
				<Query>SELECT * from "/NamedTables/WorldTable"</Query>
			</MapinfoSQLQuery>
		</MapinfoSQLDataSourceDefinition>
	</DataSourceDefinitionSet>
	<DataSourceRef ref="id3"/>
</NamedDataSourceDefinition>