MapInfo Professional 11.0 Hvordan man tilgår en...

43
MapInfo Professional 11.0 Hvordan man tilgår en database Peter Horsbøll Møller, Senior Systems Engineer Marts 2012

Transcript of MapInfo Professional 11.0 Hvordan man tilgår en...

Page 1: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

MapInfo Professional 11.0

Hvordan man tilgår en database

Peter Horsbøll Møller, Senior Systems Engineer

Marts 2012

Page 2: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opsætning af en spatial database så den

kan anvendes fra MapInfo Professional

11.0

Anvende en spatial database fra MapInfo Professional 11.0

Kunne være enhver spatial database

Kunne være MI Pro 10.0, 10.5 eller 11.0

Page 3: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Oprette en ODBC-datakilde

Data

Data

Page 4: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Oprette en datakilde til SQL Server 2008

• Åbn Select Data Source. Kan tilgås fra

Åbn dialogboksen eller via Filer > Åbn

DBMS-tilslutning.

• Vælg datakildetype

– Filbaseret datakilde

– Maskindatakilde

• Klik på knappen Ny.../New…

• Vælg Bruger- eller Systemdatakilde

• Vælg drivertype/databasetype:

– SQL Server Native Client 10.0

• Datakilden bliver nu oprettet

Page 5: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Konfiguration af SQL Server 2008 datakilde

• Indtast navn, beskrivelse og server

• Vælg logintype (ofte Windows

Authentication) og indtast brugernavn

og kodeord, hvis du valgte SQL Server

Authentication

• Angiv standard database – altid!

• Brug ”ANSI Quoted Identifiers”

• Afprøv datakilden

Page 6: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

MapInfo’s kortkatalog: MapInfo_MapCatalog

Page 7: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Kortkataloget

• Kortkataloget (MapInfo.MapInfo_MapCatalog) beskriver geografiske

tabeller i en database med værdier som:

– Type af spatial tabel, for eksempel XY, SpatialWare, Oracle, SQL

Server, PostgreSQL/PostGIS, mm.

– Koordinatsystem

– Dataafgrænsninger

– Symbol, standard og rækkevis

– Standardvisning

• Kortkatalog skal findes én gang i en

database med geografiske data, som

skal tilgås fra MapInfo Professional

Page 8: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Oprette kortkataloget – EasyLoader

• Start EasyLoader fra Værktøjsstyringen

• Kør EasyLoader fra Værktøjsmenuen

• Åbn en tilslutning til databasen via ODBC-

knappen. Du skal have DBA-rettigheder

• Tryk på Kortkatalog-knappen for at

oprette kortkataloget

• Du skulle nu gerne få at vide at

kortkataloget er blevet oprettet

• Hvis kortkataloget allerede findes, vil du

se en liste med tabeller allerede

registreret i kortkataloget. Du vil kunne

fjerne en eller flere af disse, hvis du

ønsker det

Page 9: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Åbne DBMS-tabeller i MapInfo Professional

Page 10: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Åbne en DBMS-tabel

• Vælg Filer > Åbn

• Tryk på Åbn DBMS-tilslutning

eller vælg den allerede åbne

tilslutning i listen med Filtyper

• Vælg den ønskede tabel og tryk

på Åbn.

Page 11: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Åbne en DBMS-tabel

• Specificer:

– Kolonner

– Rækker

– Adgangstype

• Sammenkædet

• Direkte med Cache

• Direkte uden Cache

– Hvor tab-filen skal gemmes

på disken

Page 12: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Forespørgsler – Rækkefiltrering

• Du kan angive hvilke poster, du ønsker at hente fra databasen

• Ved hjælp af attributter

• Ved hjælp af geografi

• Værdien af Current_Mapper og Selection er statiske og opdateres ikke

med nye værdier, når tabellen opdateres.

“Selection” er kun tilgængelig hvis der er

en aktiv udvælgelse

“Current_Mapper” er kun tilgængelig hvis

der er et kort aktivt

“Object” er kun tilgængelig for

kortlægningsklare tabeller

“Like” og “not like” er kun tilgængelige for

tekst-kolonner

Brug ikke ”” omkring tekstværdien!

Page 13: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Forespørgsler - Ekspert

• Skriv dine egne SQL-udtryk

• Syntaksen afhænger af SQL dialekten i databasen

• MapInfo Professional vil “oversætte” nogle specifikke udtryk når

forespørgslen sendes til databasen:

– Object

– Within

– Selection

– Current_Mapper

– …

• Du kan gemme og indlæse forespørgsler via de to knapper på højre

side i dialogboksen

Page 14: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

• Det er kun første gang at du åbner en DBMS-tabel at du skal angive

hvilke data du ønsker at åbne

• Efterfølgende kan du genåbne disse data ved at åbne tab-filen

• Tab- filen indeholder all nødvendig information

– Tabelstruktur

– tilslutningsinformation

– Kan også indeholde brugernavn og kodeord

• Hvis tabellen blev oprettet som “sammenkædet”, bør du overveje at

opdatere tabellen.

• Hvis tabellen blev oprettet som ”direkte”, vil MapInfo Professional læse

de nyeste data fra databasen

Genåbne en DBMS-tabel

Page 15: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte

Page 16: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte - Sammenkædet

• Sammenkædet

– Data bliver kopieret til MapInfo tabellen, når tabellen oprettes og når

den opdateres

– Adgang til databasen er kun nødvendig, når du gemmer eller

opdaterer tabellen

-> At arbejde uden tilslutning og lange transaktioner er understøttet

– Hastigheden er lige så god som en normal MapInfo tabel, når først

data er hentet

– Data kan tilgås skrivebeskyttet hvis der ikke findes en primær nøgle

– Hvis du bruger en forespørgsel til kun at hente de nødvendige data,

vil forbedre hastigheden ved download. Forespørgslen kan skabes

via Rækkefilter, kolonnefilte rog Ekspert dialogboksene

– Data hentes ned til samme placering som tab-filen

– Duplikerede data

Page 17: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte - Direkte

• Direkte med og uden cache

– Åbning er tabellerne første gang kan være hurtigere end

sammenkædet – afhængig af zoomniveaue i kortvinduet

– En “vis hele lager” eller zoom ud til hele visningen vil hente alle

poster fra tabellen

– Data skal have en primær nøgle

– Du skal altid have en åben tilslutning til databasen

Page 18: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte - Direkte uden cache

• Direkte uden cache

– MapInfo Professional læser “altid” direkte fra databasen

– Ethvert optegning, gennemse eller udvælgelse kan have en negativ

effekt på performance

– Data genlæses fra database-serveren ved et hvert opslag

Page 19: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte – Direkte med cache

• Direkte med cache

– Anvender en midlertidig cache

• MapInfo tabel gemt i Windows temp mappen

• Cachen er progressiv, data bevares i cachen i den aktuelle

session og cachen vokser løbende

– Data gemmes i cachen efterhånden som data indlæses fra

databasen. Dermed vil efterfølgende adgang til de samme data blive

hurtigere

– Cachen nulstilles, når tabellen lukkes og når tabellen opdateres

Page 20: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte – Konklusioner?

• Brug kun “direkte uden cache” når

– Data ændres hvert minut eller hurtigere

• Brug ”direkte med cache” når

– Tabellen er meget stor og du ikke kan filtrere via en forspørgsel

– Dine data ændres løbende, f.eks. dagligt

• Bruge sammenkædet når

– Dine data er statiske og kun ændres en gang hver uge/måned/år

– Performance er vigtig

– Du skal laver større analyser på dine data, f.eks. SQL-forespørgsler

Page 21: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Sammenkædet kontra Direkte – Konklusioner?

• Hvis du har en meget lille datamængde i din tabel, spiller det næppe

den store roller om du anvender direkte eller sammenkædet

• Med ”direkte” tabeller sikrer du dig at brugerne ”logger på” for at tilgå

data.

• Hvis du anvender ”direkte” tabeller, anbefaler vi at du tilgår dine tabeller

via et arbejdsområde med zoomniveauer, som forhindrer at unødvendig

data hentes

• Understøttelse af MARS har forbedret anvendelse af Direkte med

Cache

Page 22: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Redigere i tabeller fra SQL Server

Page 23: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Redigere

• Tabellen i databasen skal have en primær indeks kolonne

– I et view skal denne kolonne hedde MI_PRINX

• Du kan redigere data med et hvert værktøj i MapInfo Professional

• Hvis du ændrer stilen på en tabel, med rækkevis stil aktiveret, gemmes

stilen i kolonnen med stile, ofte navngivet ”MI_STYLE”. På andre

tabellen vil ændringer af stilen ikke blive fastholdt, når du opdaterer

tabellen

Page 24: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Redigering – af flere samtidige brugere

• Hvis flere brugere skal redigere den samme tabel i SQL Server, skal de

ikke tilgå denne tabel via den samme fysiske fil på harddisken.

• Hvis de gør dette, vil kun en bruger kunne redigere tabellen ad gangen

– de øvrige brugere vil blive forhindret i at redigere, så snart den første

brugere begynder at redigere.

• De skal altså tilgå databasen via hver deres lokale kopi af en MapInfo

tabel. Den kan være såvel sammenkædet som direkte

Page 25: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Gemme

• Tryk på Gem tabel for at gemme ikke gemte ændringer i en

DBMS tabel

• Når ændringer gemmes til databasen, undersøger MapInfo om

posten der er blevet ændret, er blevet ændret i databasen efter

den blev læst derfra. Hvis det er tilfældet bliver du præsenteret

for en dialog, hvor du skal løse denne konflikt

• Gemme ændringer lokalt i (kun for sammenkædede tabeller)

kan gøres ved blot at lukke tabellen. MapInfo vil så spørge dig

hvad der skal ske med de ikke-gemte ændringer:

Gem ændringer i MapInfo-Tabel

– Gem ændringer på server

– Fortryd ændringer

Page 26: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Løs konflikter i MapInfo Pro

• Hvis en tabel er blevet ændret i databasen, når du gemmer ændringer vil MapInfo præsenterer brugeren for en Løs konflikt dialogboks som vist

• Du kan her se hvilke data/kolonner, der er blevet ændret

• Du kan se den originale database version, den aktuelle MapInfo version og den aktuelle database version

• Du kan vælge hvad der skal beholdes og hvad der skal ændres – kolonnevis

• Du kan her se at kolonnen

PANDSTATUS er ændret og til hvad.

• Du kan også se at geografien (object)

er blevet ændret. Det er dog svært at

se på hvilken måde den er ændret

Page 27: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opdatere sammenkædede tabeller

Page 28: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opdatere

• Genindlæse data fra databasen kan gøres via Tabel > Juster > Opdater

DBMS-Tabel...

• Opdatere en DBMS-tabel

– Anvender forespørgslen. Bemærk at disse betingelser er statiske.

– Hvis du har angivet en forespørgsel med brug af aktuelt kort eller

aktuel udvælgelse, vil den originale værdi igen blive anvendt. For at

at angive en ny værdi, f.eks. Et nyt kortudsnit, er du nødt til at

genåbne tabellen fra databasen og her angive den nye betingelse.

• MapBasic syntaks: Server Refresh name_of_table

Page 29: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opdatere DBMS-tabeller via et arbejdsområde

!Workspace

!Version 950

!Charset WindowsLatin1

Dim nConn As Integer

nConn = Server_Connect( "ODBC", "DSN=GIS;UID=EditUser;PWD=Edit" )

Print "Åbnet tilslutning som nr: " + nConn

Print "Åbner nu tabellerne..."

Open Table "D:\3. demo\dbms\Byflade.tab" Interactive

Map From Byflade

Print "Opdaterer nu DBMS-tabellerne..."

Server Refresh Byflade

Close Table Byflade

Print "Så er vi færdige"

Server nConn Disconnect

Undim nConn

Page 30: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

MapInfo tabeller kontra tabeller i SQL Server

Page 31: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

MapInfo tables versus tables in SQL Server

• Der er en række forskelle mellem MapInfos flade filer og opbevaring af

data i SQL Server

– Flere programmer kan tilgå data, ikke kun MapInfo software

– Flerbruger editering

– Alle fordelene ved relationelle databaser: relationer, views,

sikkerhed, triggers mm.

• Når data opbevares i MapInfos flade filer, skal en applikation håndtere

elementer som

– Tidsstempling ved ændring af data

– Holde styr på historiske versioner af data

– mm.

• Når data opbevares i databasen, kan databasen varetage disse ting for

alle programmer, der måtte tilgå data.

Page 32: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Oprette views i SQL Server

Page 33: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Hvad er et view?

• Et view kan betragtes som en måde at se på data

• Med et view kan man begrænse antallet af kolonner eller/og antallet af

poster, man ser.

• Med et view kan man også sammenstille flere kolonner til én kolonne.

F.eks. kan man sammensætte VEJNAVN, HUSNR og

HUSNR_BOGSTAV til en ADRESSE-kolonne

• Man kan også bruge views til at berige et tabel med data fra en anden

tabel, f.eks. overføre vejnavnet fra en vejnavnetabel til en tabel med

adresser. Dette gøres ofte via et join, en sammenkædning, af tabeller.

Du kan gøre dette enten på alfanmeriske eller geogratisk attributter.

• Et view kan også sammensætte flere tabeller til en

Page 34: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Et view der sammensætter tabeller

Nedenstående skal køres fra et Query-vindue – ikke som et view: Create View [dbo].[viewSearch] WITH SCHEMABINDING As

Select VEJNAVN

+ ' ' + Cast(HUS_NR as VarChar) + HUSBOGSTAV

+ ', ' + Cast(POSTNR As VarChar)

+ ' ' + POSTDIST As SEARCHVALUE, MI_PRINX, SP_GEOMETRY

From dbo.ADRESSER

Union All

Select MAS_MATRNR + ' ' + ELAVNAVN As SEARCHVALUE

, (1000000 + MI_PRINX)

As MI_PRINX

, SP_GEOMETRY

From dbo.JORDSTYKKER

• Og tilføj den så til MapCatalog

Page 35: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Spatial SQL eksempler

Tilføj et bynavn til netop de veje, der skærer en by

Select V.*, B.BYNAVN

FROM dbo.VEJMIDTER AS V

CROSS JOIN dbo.BYFLADE AS B

WHERE (V.SP_GEOMETRY.STIntersects(B.SP_GEOMETRY) = 1)

Tilføj et bynavn til de veje som skærer en by og NULL til de øvrige veje

Select V.*, B.BYNAVN

FROM dbo.VEJMIDTER AS V

LEFT OUTER JOIN dbo.BYFLADE AS B

On (V.SP_GEOMETRY.STIntersects(B.SP_GEOMETRY) = 1)

Page 36: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Triggers i SQL Server

Page 37: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Hvad er Triggers?

• En trigger kan blive kaldt når der sker noget specielt i databasen

• De kan f.eks. kaldes når poster indsættes, opdateres eller slettes

• De kan også blive kaldt når en bruger logger på databasen

Page 38: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opret en tidsstemplende trigger ved opdatering

CREATE TRIGGER dbo.trg_MY_TABLE_OnUpdate

ON dbo.MY_TABLE

AFTER UPDATE

AS

Begin

Update dbo.MY_TABLE

Set DATE_CHANGED = CURRENT_TIMESTAMP,

USER_CHANGED = SYSTEM_USER

Where MI_PRINX In (Select MI_PRINX From inserted);

End

GO

Page 39: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Opret en tidsstemplende trigger ved indsættelse

CREATE TRIGGER dbo.trg_MY_TABLE_OnInsert

ON dbo. MY_TABLE

AFTER INSERT

AS

Begin

Update dbo.MY_TABLE

Set DATE_CREATED = CURRENT_TIMESTAMP,

USER_CREATED = SYSTEM_USER

Where MI_PRINX In (Select MI_PRINX From inserted);

End

GO

Page 40: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Tilgå SQL Server via MapBasic

Page 41: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Process

• Opret tilslutning

nConn = Server_Connect("ODBC", "DSN=GIS;UID=EditUser;PWD=Edit")

• Gør ”noget” Server Create Map

Server Create Style

Server Create Table

Server Link Table

Register Table

Server Refresh

Server Set Map

Server_Execute

Commit Table

• Luk tilslutning Server nConn Disconnect

Page 42: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Server_Execute

• Du kan bruge Server_Execute funktionen til at sende SQL kommandoer

til udførsel i databasen

• Sikre dig at du har en tilslutning åben, her bruges tilslutning nr 1

Print Server_Execute(1, ”Drop table dbo.KOMMUNE”)

Print Server_Execute(1, ”Delete From MapInfo.MapInfo_MapCatalog

Where OWNERNAME = ’dbo’

and TABLENAME = ’KOMMUNE’”)

• OBS: Ovenstående skal stå på én linje pr. kommando

• Husk at erstatte ” og ’ i MapBasic –vinduet, hvís du kopieret

ovenstående fra en PowerPoint

Page 43: MapInfo Professional 11.0 Hvordan man tilgår en databaseblogs.pitneybowes.dk/files/dk/MapInfoNetvaerk/2012.03/MIPro tilgaa... · Oprette en datakilde til SQL Server 2008 • Åbn

Spørgsmål ?

The Power of Insight

MapInfo Professional

Peter Horsbøll Møller, Senior Systems Engineer

[email protected]