ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse



Relaterede dokumenter
Databaseadgang fra Java

Opret ODBC datakilde Vejledning

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

PID2000 Archive Service

Import af rekursivt (parent-child) hierarki i Palo

Instruktioner i installation og afinstallation af Windows PostScript- og PCLprinterdrivere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

applikation----x----odbc driver manager----foobar ODBC driver----foobar database

Opsætning af Oracle Designer 10g repositorie

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU semester 05.januar 2007

Status på det trådløse netværk

VDI AARHUS UNIVERSITET VER 1.5 VDI 30. APRIL

Klog på SAS seminar, december 2013 Hvordan skjules password i loggen ved brug af macro, Svend Bang, Københavns Universitet

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

Moderne SAS-programmering på webben med SAS Studio. Georg Morsing SAS Institute

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Vejledning til Teknisk opsætning

SAS2WPS Workshop. Torben Christensen! Senior Partner, MSc.! tlf: Copyright UniQcus 2014

Serverteknologi I Project task list

SAS Scalable Performance Data Server

User Manual for LTC IGNOU

en fælles opsætning af SAS som grundlag for samarbejde. Jesper Michelsen, Risikostyring Modeller

Sådan får du e-bøger på læseren

SPECIALTRYKKERIETS KUNDE WEBPORTAL KOM GODT I GANG

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Installation og brug af DMUs VPN klient Installation and use of DMU s VPN client

Opsætning af MobilePBX med Kalenderdatabase

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

MSI pakke til distribution af AutoPilot komponenter.

Introduktion til Microsoft R. Steen Dybboe, Pragmatic BI MsBIP 2017 Aarhus

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

Accessing the ALCOTEST Instrument Upload Data - NJSP Public Website page -

how to save excel as pdf

ISA Server 2006 Del 5. Jesper Hanno Hansen

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

Hvordan opretter jeg en ODBC-forbindelse til en MySql-database?

EasyIQ Opdatering > 5.4.0

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Mænd, Mus og Metadata

En Kort Introduktion til Oracle

Installationsguide til SAP Business One 2005 SP1 (SBO 2005)

Pronestor Room & Catering

FairSSL Fair priser fair support

HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE

Installation af Elektronisk APV på flere PC er

Backup Applikation. Microsoft Dynamics C5 Version Sikkerhedskopiering

The EAL Jobportal. How to get started

Microsoft Dynamics CRM 2013

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

SAP R/3. Henrik Kroos

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Anvendelse af Model- View koncept i SAS Stored Processer

Advanced Word Template Brugermanual

Sikkerhed i trådløst netværk

Digital Print Room Implementering og tilretning. 11. Sep TMC Plot-SIG

Boligsøgning / Search for accommodation!

Introduktion til versionsstyring

HELLO FAQ DANSK RACKPEOPLE

Excel som database i ASP via ADO

VPN VEJLEDNING TIL MAC

VPN Windows 7. Denne guide viser dig, hvordan du konfigurerer VPN på din pc, og hvordan du nemt og hurtigt opretter og afbryder forbindelsen.

Hvordan opretter jeg MultiUser med en access-database?

% &$ # '$ ## () %! #! & # &, # / # 0&. ) / & #& #

Serverteknologi I * Projekt * Opgaveliste

Spectrum Spatial Analyst WebGIS. Peter Horsbøll Møller GIS Pre-Sales Specialist 10. september 2014

MapBasic brugergruppe. SQL i MapBasic. Peter Horsbøll Møller Senior Systems Engineer Marts Slå mute fra hvis I vil sige eller spørge om noget

FairSSL Fair priser fair support

3D NASAL VISTA 2.0

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM v. 1.0

Hosted Exchange. Setup guide for clients & mobile devices. Date: Version: 15. Author: SBJ/ANB. Target Level: Customer

FleeDa (DBK Fleetmap Database) Installationsvejledning til installation af VPN og FleeDa klient på egen PC (Juli 2017)

Egenudviklet promotion tool mellem forskellige SAS Visual Analytics miljøer.

3D NASAL VISTA TEMPORAL

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Applikations Virtualisering. Anders Keis Hansen

Skriftlig opgave. Designtanker i database-nære systemer

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Hosted Exchange. Setup guide for clients & mobile devices. Date: Version: 15. Author: SBJ/ANB. Target Level: Customer

Data lagring. 2. iteration (implement backend)

ComArchive PST Importer For version 3

Import fra C Revisor Informatik ApS

WIFI koder til Miljøagenturet: Brugernavn: AIACE course Kodeord: TsEG2pVL EU LOGIN KURSUS 21. AUGUST FORMIDDAG:

QUICK START Updated:

Installation. Aesiras Internet hjemmeside og webshop. Aesiras -integreret Regnskab, Handel og Internet

WINDCHILL THE NEXT STEPS

Views. Et view er en relation defined ud fra gemte tabeller ( base tables ) og andre views To typer:

Indholdsfortegnelse. Side 2 af 20

Eksempel på en database: studenter, kurser, eksamener

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Umbraco installationsvejledning

Aktivering af Survey funktionalitet

Citrix CSP og Certificate Store Provider

IBM WebSphere Operational Decision Management

Vejledning til at tjekke om du har sat manuel IP på din computer.

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

KUNDE-WEBPORTAL KOM GODT I GANG

Transkript:

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

Præsentation Jesper Michelsen cand.polit. (ikke praktiserende) PensionDanmark A/S Data warehouse-specialist, Data warehouse & Analyse Business Intelligence, Data warehouse, Databaser, Analyser Godt 20 års erfaring med SAS 5.09, 5.18, 6.06, 6.12, 8.2, 9.2 z/os, AIX, Sun/Unix, Windows, OS/2, Digital VMS PensionDanmark A/S Arbejdmarkedspensionsselskab Ejet af arbejdsmarkedets parter 600.000 medlemmer Balance ca. 105 mia. kr. (2010) MS SQL Server hus Analytic frontend; SAS, Excel og MS SQL Server Management Studio 3

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

Hvad er ODBC? Open Data Base Connectivity et standard-middlelayer API til brug for at læse og skrive data fra en datakilde Udviklet af SQL Access Group i 1992 Ikke knyttet op på et bestemt programmeringssprog, database eller operativsystem Næsten alle DBMS understøtter OBDC; også flade filer og regneark Sybase understøtter ikke (du skal købe en 3. parts driver) 5

Hvad er ODBC? ODBC er et mellemlag skudt ind mellem applikation og database Kan sammenlignes lidt med en printer-driver oversætter sæt af kommandoer til noget enheden kan forstå og returnere på Programmøren skal derfor i princippet ikke tage stilling til evt. ændringer i applikationen, når databasen skiftes ud til en anden version eller et andet produkt driveren håndterer trafikken vha. et sæt keywords samt en SQL query 6

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

ODBC Datakildeadministrator System-DSN 8

ODBC Datakildeadministrator System-DSN 9

ODBC Datakildeadministrator System-DSN 10

ODBC Datakildeadministrator System-DSN 11

ODBC Datakildeadministrator Eksempel på brug af System-DSN PROC SQL; connect to odbc(datasrc= ODBC kilde UID=sasdbo PWD=Toscana08); create table a as select * from connection to odbc(.. QUIT; disconnect from odbc; Libname data odbc datasrc= ODBC kilde UID=sasdbo PWD=Toscana08 schema=dbo; 12

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

ODBC Datakildeadministrator Distribution af System-DSN System-DSN findes i Windows-registreringsdatabase Eksport af DB entry Import af DB entry Kræver rettigheder som (lokal)administrator Besværligt, når IT giver serverne nye navne du får en ny maskine Inden man får set sig om, kan man have et hav af registreringer 14

ODBC Datakildeadministrator Distribution af System-DSN Hvor gemmer ODBC sig i Registreringsdatabasen? 15

ODBC Datakildeadministrator Distribution af System-DSN Så langt så godt Det er ikke svært Enkelt, når man bare er sig selv Man skal dog være administrator for at oprette og vedligeholde en datakilde Men er man flere om at dele Synkront på alle arbejdsstationer Hvordan synkroniserer man ændringer fra flere brugere? Jeg har ikke noget svar Et eller andet versioneringsprogram aht. revisionsspor og fallback Aftaler og metode i gruppen Bede IT om at håndtere det I strid med IT-politikken? Lad os prøve noget andet! 16

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

ODBC Datakildeadministrator Fil-DSN 18

ODBC Datakildeadministrator Fil-DSN 19

ODBC Datakildeadministrator Fil-DSN Hvad indeholder.dsn-filen angivelse af driver brugerident (UID) arbejdsstation-id (WSID) navn på operativsystem SQL Server Men ikke noget password! Det er der råd for Vi skal have fat i nogle keywords 20

ODBC Datakildeadministrator Fil-DSN Der skal rettes i.dsn-filen Tilføj keyword PWD=<password> 21

ODBC Datakildeadministrator Eksempel på brug af Fil-DSN proc sql; connect to ODBC(NOPROMPT= c:\odbc\odbc filkilde.dsn ); create table a as select * from connection to odbc(.. disconnect from odbc; quit; libname data2 odbc NOPROMPT="filedsn=c:\ODBC\ODBC filkilde.dsn" schema=dbo ; 22

Klip fra manualen LIBNAME statement specifics for ODBC DATASRC=<'>ODBC-data-source<'> specifies the ODBC data source to which you want to connect. For PC platforms, data sources must be configured by using the ODBC icon in the Windows Control Panel. DSN= is an alias for this option that indicates that the connection is attempted using the ODBC SQLConnect API, which requires a data source name. You can also use a user ID and password with DSN=. If you want to use an ODBC file DSN, then instead of supplying DATASRC=<'>ODBC-data-source<'>, use the PROMPT= or NOPROMPT= option followed by "filedsn=(name-of-your-file-dsn);". For example: libname mydblib odbc noprompt="filedsn=d:\share\msafiledsn.dsn;"; NOPROMPT=<'>ODBC-connection-options<'> specifies connection options for your data source or database. Separate multiple options with a semicolon. If you do not specify enough correct connection options, an error is returned. No dialog box displays to help you complete the connection string. (r.t.f.m.s) 23

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

Scriptede connections Hvad er en scripted connection? I stedet for at bruge et System-DSN eller et File-DSN Skriver de nødvendige connection-keywords selv Pakker det ind i NOPROMPT-optionen Nødvendige keywords UID SERVER PWD DRIVER DATABASE og evt. TRUSTED_CONNECTION Og vi ved jo det meste fra File-DSN 25

Scriptede connections Libname data ODBC NOPROMPT= DRIVER=SQL Server; UID=sasdbo; DATABASE=ODBCtest; PWD=Toscana08; SERVER=Laptop-jmi2\SQLEXPRESS schema=dbo; Nu kan vi gøre det fleksibelt 26

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

En makro %macro librefodbctest(_srv=laptop-jmi2\sqlexpress, _db=odbctest); Libname data ODBC NOPROMPT= DRIVER=SQL Server; UID=sasdbo; DATABASE=&_db.; PWD=Toscana08; SERVER=&_srv. schema=dbo; %mend librefodbctest; Puha den indeholder jo både hardcoded brugernavn og password! 28

En anden makro NU skal vi bruge keyword et TRUSTED_CONNECTION %macro librefodbctest(_srv=laptop-jmi2\sqlexpress, _db=odbctest); Libname data ODBC NOPROMPT= DRIVER=SQL Server; UID=&sysuserid.; DATABASE=&_db.; TRUSTED_CONNECTION=yes; SERVER=&_srv. schema=dbo; %mend librefodbctest; Vupti vi har overladt sikkerheden til Windows Active Directory Husk lige at tildele rettigheder til AD-brugeren på databasen Opret en gruppe i AD 29

En tredje makro %macro noprompt (_srv=laptop-jmi2\sqlexpress, _db=odbctest); noprompt="driver=sql Server; UID=&sysuserid; DATABASE=&_db; Trusted_Connection=Yes; SERVER=&_srv. (Nej, der mangler ikke et ; ) %mend noprompt; libname data ODBC %noprompt schema=dbo ; (Dér kom ; ) 30

En fjerde makro Samme kan laves til brug i PROC SQL %macro SQLconnect2ODBCtest(_srv=LAPTOP-JMI2\SQLEXPRESS, _db=odbctest); connect to ODBC(noprompt="DRIVER=SQL Server; UID=&sysuserid.; DATABASE=&_db.; Trusted_Connection=Yes; SERVER=&_srv."); %mend SQLconnect2ODBCtest; proc sql; %SQLconnect2ODBCtest;. disconnect from ODBC; quit; 31

Agenda Præsentation Hvad er ODBC? ODBC Datakildeadministrator System-DSN Distribution Fil-DSN Scriptede connections Nyttige makroer Tuning og optimering Afrunding

Tuning og optimering Skrive data Skrive mange data til en database via et libname DBCOMMIT=n Låser rækker til tabel for hver n te række BULKLOAD=yes no Indsætter data som en bunke (Kun MS SQL Server, kun på Windows) Bør bruges sammen Den ideelle størrelse af DBCOMMIT afhænger af antal byte pr. række, og hvor stor serverens insert-buffer er prøv dig frem Er den for lille, bruges for megen tid på commit Er den for stor, har den ingen effekt 33

Tuning og optimering Læse fra DBMS-tabeller Dataset options I forbindelse med joins DBKEY= <kolonne> Danner en WHERE-klausul med formen WHERE <kolonne> = kolonne-værdi indeholder hver værdi i kontroldatasættet DBNULLKEYS= yes no Bruges i forbindelse med DBKEY Udvider ovenstående WHERE, så der tages højde for, at der kan forekomme NULLs i nøglen angivet i DBKEY DBINDEX= yes no Instruktion til SAS om at benytte evt. index på tabellen 34

Tuning og optimering Eksempel på join create table samlet as select * from sasdata.small as l left join odbclib.master_bred(dbindex=yes dbkey=id dbnullkeys=yes) as m on(l.id = m.id); 35

Tuning og optimering Følg med i dine SQL er Options SASTRACE=,,,d Giver dig og din DBA er information om, hvordan din SAS-query over mod din database ser ud SASTRACELOC=saslog Sørger for, at informationen kommer ud i SASLOG Derudover Tjek din hardware Først og fremmest drop SAN, brug DAS Brug indeks og vedligehold dem Partitionér dine store tabeller Fedt for din DBA (de elsker det) 36

Spørgsmål? 37

Kilder og kontakt Wikipedia Open Database Connectivity (pr. 7. januar 2011) Microsoft MSDN Library Using ODBC with Microsoft SQL Server Amrish Kumar & Alan Brewer, 1997 (2010) Using Connection String Keywords with SQL Server Native Client SQL Server 2008 R2 SAS Institute SAS/ACCESS 9.2 for Relational Databases, Reference (4th ed.) SAS/ACCESS Interface to ODBC Kontakt inden 31. juli jmi@pension.dk fra 1. august Nykredit, Risikomodeludvikling 38