Table Vue

Exemple

Les ressources de table nommée peuvent être définies par une vue (requête de données) via une instruction SQL MI portant sur une table. Cette procédure utilise la définition de source de données MapinfoSQLDataSourceDefinition pour définir la requête SQL et le nom de la table utilisée dans la requête. Vous pouvez définir une table de vue de deux manières : soit vous définissez la définition de la table et de la requête, soit vous indiquez une table nommée existante et la requête.

Dans cet exemple, la table utilisée dans la requête (une source de données de fichier TAB nommée World123) est définie, puis la requête (nommée View123) est définie. Lorsque vous appelez cette table Vue nommée, le nom de MapinfoSQLDataSourceDefinition (View123) est utilisé.

Dans cet exemple, la définition utilise les jetons suivants :

  • @filedir@ répertoire du système de fichiers sur lequel figure le fichier de table


<?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>

			

Dans cet exemple, la table utilisée dans la requête est une table nommée existante déjà définie dans le référentiel. Vous devez indiquer la table nommée via une référence NamedDataSourceDefinitionRef au chemin d'accès complet de la table au sein du référentiel. La requête est ensuite définie via cette table nommée (vous devez également indiquer le chemin d'accès complet à la table nommée). Lorsque vous appelez cette table Vue nommée, le nom de MapinfoSQLDataSourceDefinition (View123) est utilisé.



<?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>