• KnuCha
  • Registratie: November 2004
  • Laatst online: 06-02 09:24
Voor het bedrijf waar ik werk wordt er gebruik gemaakt van een voertuigvolgsysteem dat C-Track heet.
Deze applicatie haalt via GPS constant informatie op van de units die in de voertuigen geïnstalleerd zijn.

Deze data wordt vervolgens in een SLQ Express Server weg geschreven in de database. De administratie kan via C-Track zien hoeveel uren een werknemer op locatie bij een klant is geweest en zo de uitbetaling doen (Bouw CAO werkt aan de hand van reisuren). Dit is een gigantische administratieve klus. en controle kan nu dus alleen steekproefgewijs gedaan worden. (de rest word door de directe projectmanager goedgekeurd op geschreven reisuren briefjes)

Wij willen nu naar een makkelijke oplossing om te kijken door middel van Queries op de database uit te voeren waar de uitschieters zitten. (dus te vroeg vertrokken of te laat begonnen). en deze uit laten draaien door een paar klikken.

De queries maken in de sql server management studio lukt. maar de vraag is dus.
Kunnen de queries beschikbaar gemaakt worden voor het administratief personeel (die dus niet op de server inloggen maar ze bijvoorbeeld extern benaderen)

zijn er makkelijkere tools om queries te maken buiten de server management tool om ? en zo ja welke raden jullie aan ? als het mogelijk is free ware.

Het gaat om een database die vrij groot is 1.8 miljoen items op het moment sinds het in gebruik name van het systeem zomer 2007. ( er zal een backup gemaakt worden binnenkort om dit te verkleinen en schoon te beginnen)

  • storeman
  • Registratie: April 2004
  • Laatst online: 06-02 22:32
Dit kan natuurlijk op tal van manieren. Je zou dit via ASP of PHP beschikbaar kunnen maken (intranet), maar je zou ook aan de slag kunnen gaan met excel en hier een stukje in coden die de resultaten ophaalt en in de spreadsheet zet.

Kan-en-klare query draaiers zou ik niet weten, maar kun je niet de express manager remote gebruiken en een gebruiker met read-only rechten in laten loggen en de query uitvoeren?

"Chaos kan niet uit de hand lopen"


Verwijderd

Je zou kunnen denken aan een ASP.NET applicatie, hier kan je (verglijkbaar met PHP) gegevens uit een database laten zien op een HTML pagina met hierin de uitschieters op basis van jou of door gebruikers gespecificeerde query (denk aan dropdownlists waarin een keuze staat om te selecteren op locatie of tijd vertrokken) in Visual Studio kan je heel makkelijk werken met de SQL Express database door hier een datasource van te creëren kan je ook heel makkelijk data laten weergeven met een GridView.

Kijk ook even naar de volgende link om een indruk van ASP.NET te krijgen

FreeWare
Microsoft's IDE: Visual Studio heeft gratis varianten hier zou ik zeker eens naar kijken!

[ Voor 18% gewijzigd door Verwijderd op 16-02-2009 09:45 . Reden: Freeware ]


  • KnuCha
  • Registratie: November 2004
  • Laatst online: 06-02 09:24
Ok bedankt voor de snelle reacties.

zal eens kijken naar Visual studio (en welke gratis mogelijkheden die hiervoor zijn want een licentie voor deze applicatie is er niet)

Verder ook contact gehad met de C-Track helpdesk over het volgende. de tijden die worden weg geschreven zijn op het moment zo gedaan

[ASSEMBLED] [varchar](32) COLLATE Latin1_General_CI_AS NOT NULL,

wat ik dus erg raar vind, waarom niet een datetime ?? de uitleg die ik kreeg was dat dit nou eenmaal hardcoded in C-track zat en wijzigingen in de database C-Track over de zeik zouden gaan helpen.

er werd mij geadviseerd om de tabel te kopieren en de data uit C-Track ook daarin te laten weg schrijven en dan een sql convert te gebruiken om deze kolom het datetime type mee te geven.

en daarnaast dan een trigger te gebruiken om de data te kopieren.

iemand een idee hoe deze SQL Convert er uit komt te zien en waar ik deze plaats ?

ik weet dat ik rechtermuisklik op de tabel DBO.Poslog moet doen en dan Script table as > CREATE to > new querie editor window.

de trigger heb ik een voorbeeld van en iets in de zin van :


set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go


CREATE TRIGGER [dbo].[duplicate_posloga] ON [dbo].[PosLog]

after INSERT

AS

insert into [DBO] . [POSLOG_4DAAGSE]

select * from inserted


De tabel waar het om gaat heet op het moment DBO.Poslog en zou bijvoorbeeld DBO.Poslogkopie kunnen gaan heten.

als dit eenmaal is gedaan kan ik verder gaan met een tabel waar ik i.i.g. de data beter kan benaderen op datum

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik vraag me af of je echt twee keer een copy van al die data wilt hebben, ik zou eerder voor een view gaan op de data je die al hebt denk ik.

In ieder geval - je vraag is een beetje onduidelijk - wil je nu dat mensen zelf queries kunnen gaan schrijven en die uitvoeren, of wil je kant en klaar rapporten aanleveren aan het administratieve personeel?

Verwijderd

Heb converteren van de data (de datums in C-Track) zou je zonder problemen om kunnen zetten naar je SQL Database. Ja zou namelijk 16-2-2009 in kunnen voeren of 16/02/2009 dit zou niet echt een probleem mogen zijn.

En uitgaand van een Varchar(32) zou je ook kunnen kijken om zelf een klein script te schrijven om deze goed om te zetten (dit zou ik dan alleen doen als MSSQL server deze fout importeert/kopieërt).

[ Voor 35% gewijzigd door Verwijderd op 16-02-2009 15:21 ]


  • KnuCha
  • Registratie: November 2004
  • Laatst online: 06-02 09:24
elevator schreef op maandag 16 februari 2009 @ 13:04:
Ik vraag me af of je echt twee keer een copy van al die data wilt hebben, ik zou eerder voor een view gaan op de data je die al hebt denk ik.

In ieder geval - je vraag is een beetje onduidelijk - wil je nu dat mensen zelf queries kunnen gaan schrijven en die uitvoeren, of wil je kant en klaar rapporten aanleveren aan het administratieve personeel?
Het uiteindelijke doel is dat ik een oplossing maak waarin een aantal queries verwerkt zitten die uitshieters en afwijkingen laten zien in de begin en eind tijden van het personeel.

maar om dus fatsoenlijk op datum/tijd te zoeken zal ik toch een datetime type metadata moeten hebben ?
dit is dus nu niet zo want de tijd word nu als volgt opgeslagen
[ASSEMBLED] [varchar](32) COLLATE Latin1_General_CI_AS NOT NULL

Zo ziet het er dan uit weggeschreven in de tabel.
2008-03-26 07:54:09

tenzij het dus mogelijk is om wel goed queries te maken met deze opzet zal ik dus een kopie tabel moeten maken en daar de data ook in laten wegschrijven (dus 2 identieke tabellen die altijd dezelfde info bevatten)
in die tweede tabel kan ik dan het Assembled veld converteren naar een Datetime.

tenzij jullie denken dat ik in Visual studio gewoon goed kan zoeken zo als ik iets bouw?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Je kan toch ook een view maken op die data en daarin de datum conversie doen (zeg ik even als SQLServer n00b) ? :)

  • _H_G_
  • Registratie: September 2002
  • Laatst online: 06-02 14:50
sql noob hier, maar kan me iets herinneren dat juist voor die opslag gekozen wordt, omdat yyyy-mm-dd altijd goed converteert, ongeacht landinstellingen?

Dus CONVERT/CAST in je normale query zou al voldoende moeten zijn.

edit: http://msdn.microsoft.com...ary/ms187928(SQL.90).aspx voor documentatie? Klinkt interessant. Jaar geleden zitten kloten met conversie in asp.net terwijl het blijkbaar in sql al kan 8)7

edit2: en trouwens. voor rapportages gebruiken we hier Crystal Reports. Al is het best prijzig en een cursus niet verkeerd als je rapporten nog rap wil houden (bespaart wel tijd als je veel rapporten moet maken en/of vaak moet wijzigen).

[ Voor 53% gewijzigd door _H_G_ op 17-02-2009 10:42 ]

Pagina: 1