Ska bygga en liten utskrifts funktion som stödjer tidsstyrning. Skulle gärna vilja har lite respons på följande tankesätt. Låter funktionabelt. Låter intressant. Schemaläggningen är viktig, den ska även ske dynamiskt av användaren. Jajamensan, antingen kan man koda det via com-objekt, eller med SQL.Kan denna lösning fungera?
Användaren skapar ett skrivar jobb (kö). Där inställningar för antal kopior, skrivar address, tid för utskirft mm anges. Detta sparas i db tabell_1. (Webb app)
Användaren lägger via en webb app dokument till jobbet (skrivar kö).
Det som händer är att den valda filen placerar i en db tabell_2.
Bygger sedan en Windows Service som då och då kollar i tabell_1 om nytt "jobb" skapats. Om jobb finns och tiden stämmer med dess inställningar utförs en utskift.
Tabell_1 är alltså Jobbets "huvud".
Tabell_2 en jobb-kö.Sv: Kan denna lösning fungera?
Är det alltså viktigt att utskrifterna kan schemaläggas i tiden?
En liten tanke också; om dokumentet som lagras i tabell_2 är komplett, dvs. informationen i tabell_1 inte används för att generera ett nytt, kombinerat dokument, skulle du kunna göra livet lätt för dig genom att helt enkelt ha ett jobb i SQL Server som kör ett utskriftskommando. Du kan till och med strunta i att lagra "tid för utskrift" och istället spara metadatat som ett nytt schemalagt jobb, så kommer SQL Server se till att köra det åt dig vid rätt tid.
Om du lever i en professionell SQL-miljö har man troligen redan en del SQL-jobb för underhåll, övervakning med mera, och i så fall kommer du uppskatta att den inbyggda jobbhanteringen är så professionell. Den innehåller såpass mycket (delsteg, loggning, övervakning, fel via mail etc) att det kräver en hel del arbete bara att implementera samma saker om igen i en egen windows service.
Om du å andra sidan inte kör SQL Server, eller kör i en miljö där man inte redan använder SQL Servers jobbhantering, kan det upplevas som lite förvirrande att det är databasen är "utskriftsmotorn". I så fall är nog din egna service rätt väg att gå.Sv:Kan denna lösning fungera?
Är det möjligt via SQL Server?Sv: Kan denna lösning fungera?
Så här står det om det senare på MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/howtosql/ht_1_012_3njm.asp?frame=true):
How to create a job (Transact-SQL)
To create a job
* Execute sp_add_job to create a job.
* Execute sp_add_jobstep to create one or more job steps.
* Execute sp_add_jobschedule to create a job schedule.