Exempel ADO import av Lastdata ur XML fil

Last och väderdata kan importera från XML filer i FAME databas format.

Det som styr om man skall läsa från XML filer eller annan import är första raden ”Connection string” i beskrivningsfilen.

Beskrivningsfilen skall pekas ut i ”Filspecifikation:” och kan heta exempelvis ”ADO_Load.ini” eller ”ADO_Load.xml”.

Importprogrammet läser beskrivningsfilen och kontrollerar om det är en SQL fråga mot en databas eller om det är en giltig XML fil.

 

Variablerna %NAME%, %PARAM1%, %PARAM2% och %PARAM3% kan användas i filnamnet i beskrivningsfilen och byts då ut mot det som är angivet i importdefinitionen, se beskrivning av variabler.

 

För att hantera datumsträngar i filnamnen så kan wildcard * eller ¤ användas i stället för datum. När wildcard används väljs alltid den senaste filen som ligger i den utpekade katalogen.

 

Vill man att filen skall tas bort efter import skall man använda kommandoradsparametern ”/delete” i kommandoraden.

 

Lastimport

Följande tag måste finnas:

<XmlImport> Anger att det är en XML import, och måste alltid finnas </XmlImport>

 

<DateTimeFormat> Anger datumformatet som skall formateras, och måste alltid finnas </DateTimeFormat>

 

<Type> Anger vilken typ av import det är, exempel: FAME, och måste alltid finnas </Type>

 

<Tag1> Anger start tag att söka efter i XML fil, och måste alltid finnas </Tag1>

 

<File> Anger filnamnet på den XML fil som skall importeras från, och måste alltid finnas </File>

 

XML filen för lastimport kan se ut enligt följande:

<?xml version="1.0" encoding="ISO-8859-1"?>

<XmlImport>

   <DateTimeFormat>

      yyyy-mm-dd HH:MM:00

   </DateTimeFormat>

   <Type>

      FAME

   </Type>

   <Tag1>

      /v2:UdmDataSeries/Payload/SetOfSeries/TimeSeries

   </Tag1>

   <File>

C:\Aiolos\Tmp\Import\Load_20100601_112451_760.xml

   </File>

</XmlImport>

 

Väderimport

Parametern Temperatur förutsätts att alltid finns, men vind och globalstrålning kan tillåtas saknas.

Saknas globalstrålning så skriver man inte in filnamnet och tagen <GlobalFile> för den saknade parametern, eller motsvarande tag <VindFile> för vind.

När det är väderimport så måste man också ange antalet väderparametrar man skall importera. I normalfallet är det 3, Temp, Vind, Global/Moln.

Saknas Global/Moln parametern så anger man endast 2 parametrar.

Om alla tre väderparametrar skall hämtas från samma fil så kan starttagen vara olika och då kan man sätta olika starttags i <Tag[Nr]> för de olika parametrarna.

 

Följande tag måste finnas:

<XmlImport> Anger att det är en XML import, och måste alltid finnas </XmlImport>

 

<NumOfParameters> Anger antalet väderparametrar som skall importeras, och måste alltid finnas </NumOfParameters>

 

<DateTimeFormat> Anger datumformatet som skall formateras, och måste alltid finnas </DateTimeFormat>

 

<Type> Anger vilken typ av import det är, exempel: FAME </Type>

 

<Tag1> Anger start tag att söka efter i XML fil, och måste alltid finnas </Tag1>

 

<Tag2> Anger start tag att söka efter i XML fil, får saknas men får då samma värde som Tag1 </Tag2>

 

<Tag3> Anger start tag att söka efter i XML fil, får saknas men får då samma värde som Tag1 </Tag3>

 

<TempFile> Anger filnamnet på den XML fil för Temp. som skall importeras från, och måste alltid finnas </TempFile>

 

<VindFile> Anger filnamnet på den XML fil för Vind som skall importeras från, och får saknas </VindFile>

 

<GlobalFile> Anger filnamnet på den XML fil för Globalstr. som skall importeras från, och får saknas </GlobalFile>

 

XML filen för väderimport kan se ut enligt följande:

<?xml version="1.0" encoding="ISO-8859-1"?>

<XmlImport>

   <NumOfParameters>

      3

   </NumOfParameters>

   <DateTimeFormat>

      yyyy-mm-dd HH:MM:00

   </DateTimeFormat>

   <Type>

      FAME

   </Type>

   <Tag1>

      /v2:UdmDataSeries/Payload/SetOfSeries/TempSeries

   </Tag1>

   <Tag2>

      /v2:UdmDataSeries/Payload/SetOfSeries/VindSeries

   </Tag2>

   <Tag3>

      /v2:UdmDataSeries/Payload/SetOfSeries/GlobSeries

   </Tag3>

   <TempFile>

      C:\Aiolos\Tmp\GoteborgTemp_20100601_112451_760.xml

   </TempFile>

   <VindFile>

      C:\Aiolos\Tmp\GoteborgWind_20100601_111948_807.xml

   </VindFile>

   <GlobalFile>

      C:\Aiolos\Tmp\GoteborgGlob_20100601_112451_760.xml

   </GlobalFile>

</XmlImport>