donderdag, 27 november 2014 20:33

Externe gegevens ophalen via ODBC moeilijk?

Geschreven door 
Beoordeel dit item
(0 stemmen)

Zelfs in deze tijd zie je als je rond kijkt bij bedrijven nog mensen die grote hoeveelheden data aan het overkloppen zijn.  Heel soms is er 1 super user die weet hoe hij / zij vanuit hun ERP systeem een export kan maken naar tekst file en hoe deze in Excel te openen.

In dit item laat ik zien hoe je in een paar stappen (mits je toegang hebt tot de database o.b.v je active directory account of de inloggegevens hebt van een SQL account) externe gegevens uit een SQL sever 2008 database ophaalt!

Stap 1

Ga naar het tabblad Gegevens - Van andere bronnen - Van SQL Server:

 

Stap 2

De wizard gegevensverbinding wordt gestart, vul bij servernaam de naam van de server op waar de SQL database op draait. Staat deze op de pc / server waar je op aan het werk bent gebruik dan de  servernaam localhost, bij aanmeldingsreferenties kies je voor windows verificatie als jouw account rechten heeft of je geeft de SQL naam en het wachtwoord op:

Stap 3

Als je rechten in orde zijn worden alle views en tabellen getoond die in de database staan, kies 1 van de tabellen:

Stap 4

Geef de locatie aan waar je de opgehaalde gegevens wilt plaatsen:

 

Stap 5

Bij de laatste stap zie je een samenvatting van de keuzes die je hebt gemaakt, bij 'type opdracht' zie je TABEL, we kunnen dit aanpassen naar SQL:

 

 

Het voordeel van 'Type opdracht' SQL is dat we een subset aan velden kunnen opgeven en eventueel kunnen joinen naar andere tabellen. Het is bijvoorbeeld mogelijk om met SQL management studio met click / drag & drop je tabellen bij elkaar te harken en de SQL die daar uit voort komt via copy / paste hier te plaatsen:

 

Nog 1 ding wat goed is om te weten is dat als je je query aanpast en bijvoorbeeld extra velden toevoegt deze niet altijd op de plek komen waar jij ze wilt hebben, ze verschijnen dan achteraan de reeds bestaande kolommen. Om dit aan te passen ga je ergens in de tabel op een cel staan en kies je voor 'Gegevens - Eigenschappen', bij de Externe gegevenseigenschappen zet je het vinkje bij 'Sortering / filterin / indeling van kolommen behouden' uit:

 

Eigenlijk is het redelijk eenvoudig om Excel rechtstreeks te laten lezen in de SQL of Oracle database, zonder dat je zoals sommige misschien denken het risico loopt om de data in de database te beschadigen.

Externe gegevens ophalen via Excel gebruikt alleen een Select statement, je database is dus veilig voor users die met Excel connecten. Wat ik wel eens zie is dat de (super) users die ODBC'n op de database zulke complexe queries met complexe joins bouwen dat ze de performance van de database (en dus van je ERP applicatie) nadeling beinvloeden. Op een terminal server zie je dan dat de Excel sessie van Jantje / Pietje 95% CPU in beslag neemt, pas hier voor op!

Meer over de combinatie Excel - SQL vind je hier:

https://www.simple-talk.com/sql/database-adminitration/getting-data-between-excel-and-sql-server-using-odbc--/

Aanvullende informatie

  • Versies: Alle versies
Lees 2848 keer Laatst aangepast op vrijdag, 13 februari 2015 06:43
Log in om reacties te plaatsen

Excel Software Shop

Web Analytics