Ansichtstabelle

Beispiel

Benannte Tabellenressourcen können in einer Ansicht (Abfrage der Daten) über eine MI SQL-Anweisung durch eine Tabelle definiert werden. Dabei werden die „MapinfoSQLDataSourceDefinition“ für die Angabe der SQL-Abfrage und der in der Abfrage verwendete Tabellenname verwendet. Es gibt zwei Möglichkeiten, eine Ansichtstabelle zu definieren: Durch Bestimmung der Definition für die Tabelle und die Abfrage oder durch Angabe einer vorhandenen benannten Tabelle und der Abfrage.

In diesem Beispiel wird die in der Abfrage verwendete Tabelle definiert (eine Datenquelle aus einer TAB-Datei mit dem Namen „World123“), und anschließend wird die Abfrage definiert (mit dem Namen „View123“). Beim Abrufen dieser benannten Ansichtstabelle wird der Name der „MapinfoSQLDataSourceDefinition“ verwendet („View123“).

In diesem Beispiel verwendet die Definition die folgenden Token:

  • @filedir@: Das Verzeichnis auf dem Dateisystem, in dem sich die Date mit der Tabelle befindet


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

			

In diesem Beispiel handelt es sich bei der in der Abfrage verwendeten Tabelle um eine vorhandene benannte Tabelle, die bereits in der Datenbank definiert worden ist. Sie müssen die benannte Tabelle in der Datenbank mit einer NamedDataSourceDefinitionRef im vollständigen Pfad angeben. Anschließend wird die Abfrage mit dieser benannten Tabelle definiert (und der vollständige Pfad zur benannten Tabelle wird angegeben). Beim Abrufen dieser benannten Ansichtstabelle wird der Name der „MapinfoSQLDataSourceDefinition“ verwendet („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>