sql >> Database teknologi >  >> RDS >> Access

Adgangskompatibel Wide World Importers SQL Server-database

SQL Server kommer normalt med nyttige eksempeldatabaser til at demonstrere nye funktioner og noget muligt design. Jeg finder normalt eksempeldatabaser langt mere nyttige som en legeplads til at udvikle generiske komponenter mod en eksisterende database til brug i andre projekter. Jeg synes, at brug af en tom eller for lille database giver en misvisende udviklingsoplevelse, fordi når komponenterne derefter bruges i en egentlig produktionsdatabase, dukker ydeevneproblemer op på steder, du aldrig forventer.

I et stykke tid har Microsoft brugt Wide World Importers-databasen, som er en ganske fuldgyldig database med flere tabeller, visninger og procedurer plus få flere. Et problem er imidlertid, at databasen i dets nuværende design ikke er kompatibel med Access-applikationer, fordi den bruger datetime2(7) hvilket kræver, at man bruger den nye udvidede dato/klokkeslæt datatype. Det er ikke så godt, når du skal tillade bagudkompatibilitet. Men der er bedre ting at gøre end at fortvivle og beklage.

Som jeg har argumenteret forskellige steder, datetime2(0) er faktisk bedre for kompatibilitet mellem SQL Server-database og Access-applikationer, fordi både datetime2(0) og Access' Date/Time og VBA's Date datatyper har samme præcisionsniveau og lignende områder, hvilket er meget bedre end den gamle SQL Server datetime som bruger en mærkelig præcision på 1/3 millisekund (man må spekulere på, om nogen røg noget mindre end lovligt, da de troede at datatype op!).

Så ved at ændre eksempeldatabasen til at bruge datetime2(0) i stedet for datetime2(7) , kan prøvedatabasen derefter gøres kompatibel med Access uden nogen ændringer ud over blot at linke tabellerne. Så vi har en praktisk eksempeldatabase at lege med. Denne heftige prøve vejer omkring 140 MB, så planlæg i overensstemmelse hermed.

God fornøjelse!

Modificeret Wide World Importers database
Ansvarsfraskrivelse:Dette tilbydes som det er, uden garanti eller garantier. Caveat emptor, du bryder det, du har købt det, med stor download, kommer stort ansvar osv. osv. 🙂


  1. Mød Michal Bar og mig hos Microsoft Ignite!

  2. Simulering af MySQL's ORDER BY FIELD() i Postgresql

  3. Måder at vide, hvordan man håndterer databasekorruption i SQL Server

  4. Vil du gemme almindelig forespørgsel som kolonne?