ADO.Net. Examen

Maat: px
Weergave met pagina beginnen:

Download "ADO.Net. Examen 70-516"

Transcriptie

1 Developing Data Access Solutions with Microsoft Visual Studio 2010 Examen ADO.Net Zonder Object Relational Mapping (ORM) en interessant tot en met.net framework 2.0. ADO.Net ondersteund SQL Server, Oracle, ODBC en OLEDB. Met SQLConnection, SQLCommand, SqlDataReader, SqlDataAdapter, DataSet en DataTable kun je zelf data ophalen uit de database: - SQLCommand.ExecuteDataReader() levert tabeldata op, specifiek voor Select acties. - SQLCommand.ExecuteScalar() levert een 1 bij 1 tabeldata op, oftewel 1 value. - SQLCommand.ExecuteNonQuery() levert geen data op, maar de number of rows effected. Voor Insert, Update en Delete acties. Daarnaast kun je ook een dataadapter gebruiken: - SQLDataAdapter.Fill(DataTable) haalt de data ook op en vult de DataTable en opent en sluit de Connection, specifiek voor Select acties. - SQLDataAdapter.Update(DataTable) update de database. De Insert, Update en Delete Commands moeten wel gedefinieerd worden, anders weet de Update() functie niet hoe de data weggeschreven moet worden. Veel controls zoals een combobox hebben een ValueMember en een DisplayMember property. Om de ID en de toonwaarde te definieren. Een DataTable kan dan aan de DataSource gekoppeld worden. Je kunt ook werken met Typed DataSets, een XSD met code erachter voor intellisense en compile type type safety. Typed DataSets kun je maken op 2 manieren: - met de Data Source Configuration Wizard in Visual Studio - met de XSD.exe command line tool

2 Linq to SQL Linq to SQL is de ORM introductie na ADO.Net, maar wordt ook niet meer ondersteund. Alleen voor SQL Server. De XSD met code behind voor intellisense en compile type type safety zit in een.dbml file. - een db Tabel is een Linq to SQL entity class - een db Column is een Linq to SQL class member - een db foreign key is een Linq to SQL Association - een db Stored procedure of function is een Linq to SQL method Alle onderdelen moeten eerst in de.dbml gesleept worden in de designer vanuit de Server Explorer window vanuit de data connections. De.dbml file beschrijft ook de sqlconnection, dus met de DataContext van de.dbml kun je ook meteen data ophalen. Met DataContext.ObjectTrackingEnabled = false; gebruik je een ReadOnly DataContext. Met Linq kun je querien op de DataContext. In Linq kun je een enkele rij pakken met.single(p => p.id = 1), bij meerdere krijg je een exception. Met SingleOrDefault, geeft ie bij niks een default terug. Met.First pak je TOP(1), altijd de eerste. Met FirstOrDefault, geeft ie bij niks een default terug. Een default is altijd NULL, 0 of false. Aanpassen van data kan voor de update op het object zelf. Inserten en Deleten met DataContext.object.InsertOnSubmit() en.deleteonsubmit(). Met DataContext.SubmitChanges() persisteer je alle wijzigingen naar de database. De DataContext.GetChangeSet() retourneerd een ChangeSet object. met.deletes,.inserts en.updates kun je zien welke data er in de database gepersisteerd gaat worden. Met de DataContext.Log property kun je bij het debuggen zien welke Linq to SQL commands er gegenereert worden. Concurrency fouten kunnen worden opgelost met de Refreshmode enumerator: KeepCurrentValues overschrijft de db / OverwriteCurrentValues overschrijft memory / KeepChanges merged.

3 Entity Framework Models Het.Net Entity Framework is parallel ontwikkelt en is het uiteindelijk geworden. Ondersteund ook andere platformen, zoals SQL Server, Oracle, ODBC en OLEDB. Het ADO.Net Entity Data Model levert een.edmx file op. Er zijn 3 Entity Framework Models: - Physical Model, de data is opgeslagen in de database - Logical Model, beschrijft hoe de data is opgeslagen in de database op basis van keys - Conceptual Model, de gemapte business object view zonder joins. Hier is het Microsoft.Net Entity Framework op gebaseerd. Te zien in code als het Entity object. In de.edmx file staan 3 XML secties: - CSDL, zoals de business objecten heten: Person.Voornaam - SSDL, hoe de data is opgeslagen in de database: Person.FirstName - MSL, hoe de mapping is gedefinieerd: Person.Voornaam = Person.FirstName Deze secties zijn gevisualiseerd in de Entity Data Model Browser. Eventuele mappings zijn te zijn in de Entity Data Model Mapping Details. - een db Tabel is in het Entity Framework een Entity class - een db foreign key is in het Entity Framework een Association - een db Stored procedure of function is in het Entity Framework een Function Imports Met het.net Entity Framwork kun je Database First en Model First designen en de andere genereren. Er zijn 2 Wizards: - Update Model from Database. Dit is een subtiele wizard waarin je kan kiezen welke tables, views en stored procedures je wilt importeren. De wizard heeft respect voor de bestaande mappings in de.edmx file. - Generate Database from Model. Dit is een heel lang sql script zonder opties en overschrijft je.edmx file ook geheel aan het einde. Entity splitting betekent dat er 1 entiteit in de business objecten gemapt is op 2 verschillende database tabellen. Dit zou logisch zijn voor 1 business object met 2 database tabellen: een actuele tabel en een history tabel. Daarnaast kun je ook meerdere business objecten hebben op 1 database tabel. Dit zou logisch zijn als de database tabel een auto type heeft, en je een business object type safe maakt per type. Dan maak je een Condition aan op dat type. Een stored procedure kun je ook inladen in je.edmx. Je ziet hem niet maar met rechtermuis > View model is hij wel te zien. Een stored procedure moet je zelf eerst mappen op een Function Imports. Dan wordt die functie ter beschikking gesteld op je Entity object.

4 Querying Een ObjectContext creer je op basis van de Entity Framework connection string. De Entity Framework connection string is het conceptuele model met de CSDL business objecten. Die praat weer met de database. De ObjectContext is een Entities Cache. Hier worden alle Entities in geladen. Bij de dispose wordt deze weer weggegooid. Linq querying doe je op basis van deze ObjectContext. Denk na over het gemak van een lange Cache VS concurrency problemen. Een Cache kun je ook refreshen met ObjectContext.Refresh(RefreshMode, object); De RefreshMode enumerator kan met.clientwins en.storewins. De data houdt altijd de oude en de nieuwe waarde vast. Bij ClientWins wordt de oude waarde overschreven door de database om ondertussen ontstane concurrency problemen te verwijderen. Bij StoreWins wordt zowel de oude waarde als de nieuwe waarde overschreven door de database om ondertussen ontstane concurrency problemen te verwijderen en de nieuwe gewijzigde waarde te vergeten. Met Linq queries kun je Querien op de entiteiten. De waarden worden niet opgehaald bij de Linq Query, maar pas opgehaald bij het gebruiken van de data, bijvoorbeeld: query.tolist(); het zogenaamde Materializen. Het opbouwen van de Entity objecten in de ObjectContext. Met de ((ObjectQuery)linqquery).ToTraceString(); kun je zien welke database SQL Linq uiteindelijk genereert om de database te benaderen. Je kunt ook querien met Entity SQL tegen het Entity Model, net iets anders dan database SQL, want je praat tegen objecten en niet tegen tabellen. Wat je dan nodig hebt zijn de EntityClient objecten: EntityConnection, EntityCommand, EntityParameter, EntityDataReader en EntityTransaction. Een voorbeeld van een Entity SQL query is: SELECT VALUE e FROM entitymodel.entityname as e WHERE Een EntityConnection kun je creeren op basis van de connnectionstring in de web.config van het Entity Model met new EntityConnection( name=entitymodelname ); Deze Entity SQL query kun je meegeven aan het EntityCommand( entitysql EntityConnection) object, maar je kunt ook op de ObjectContext.CreateQuery( entitysql ) aanroepen om een query te maken als concurrent van een Linq Query. Tevens kun je stored procedures geimporteerd als import function aanroepen op het entity model en gebruiken in code.

5 Updating Updaten oftewel persisteren van data uit het Entity model naar de database kan met.savechanges(). Inserten van een object in het ObjectContext kan met.addobject(). Deleten van een object in het ObjectContext kan met.deleteobject(). Het update van een object kan door een property van het ObjectContext aan te passen. Indien je nog steeds beschikking hebt over de ObjectContext kun je simpelweg de ObjectContext.SaveChanges() aanroepen en daarmee persisteer je data naar de database. Ook kun je bijvoorbeeld een Product toevoegen, een ProductCategory erachter toevoegen en het geheel persisteren naar de database. Het Entity Framework insert dit allemaal in de database en verzorgt ook de foreign key relaties met id s. Echter, als je niet meer de beschikking hebt over de ObjectContext omdat de UI-Tier architectureel geen beschikking heeft over het Entity Framework en de ObjectContext en er komt een geupdate gedetached Business Object terug. - Creer dan eerst een Entity Key op basis van de gedetachede Business Object, dit doet hij intern op de primairy key van de database die ook in het object zit. - Doe daarna een.trygetobjectbykey(entitykey) om een Entity attached object te creeren - Om vervolgens een ApplyCurrentValues(gedetached Business Object) de nieuwe waarden bekend te laten maken. Updaten van een object in het Entity model kan met ObjectContext.ApplyCurrentValues(). Deze overschrijft de nieuwe waarde over de oude waarde heen in de eigen ObjectContext. Deze functie gaat niet naar de database. - Of een DeleteObject(attached Entity object) te doen. - Als laatste kunnen de nieuwe waarden gepersisteerd worden met ObjectContext.SaveChanges() Wil je de ModifiedDate ophogen, een log file bijschrijven, niet alle of juist extra velden wegschrijven bij een aanpassing, of andere custom acties bij het persisteren? Maak een stored procedure voor Insert / Update / Delete en hang die in je Entity Model onder een Entity.

6 Als je de Linq query eerst cast naar een ObjectQuery, met ((ObjectQuery)linqquery) dan krijg je extra opties, zoals dat je de MergeOption kan zetten op de query. De MergeOption bepaald hoe de data wordt geladen in de Entity ObjectContext Cache. Mogelijkheden van de MergeOption: - Detached: NoTracking: Geen oude waarden bijhouden, bijvoorbeeld omwille van performance. Alleen de nieuwe waarden worden bijgehouden, om later te kunnen persisteren. - Attached: PreserveChanges: van entiteiten die al geladen waren, wordt de oude waarde opgehaald en overschreven, nieuwe waarde wordt gerespecteerd. - Attached: OverwriteChanges: van entiteiten die al geladen waren, wordt zowel de oude waarde als de nieuwe waarde opgehaald en overschreven - Attached: AppendOnly: Default, als een entiteit al is opgehaald, haalt ie die niet nog eens op. Hij laat alle oude en nieuwe waarden voor die entiteit staan. Nadien kun je met ObjectContext.Detach(object) nog naar Notracking (alleen nieuwe waarde, geen oude waarde) en met ObjectContext.Attach(object) weer naar Attached modus, de oude waarde en de nieuwe waarde worden dan de nieuwe waarde. Change Tracking: Er is een Object State Manager beschikbaar op de ObjectContext waarin alle changes getracked kunnen worden, bijvoorbeeld het bekijken van de original values: ObjectContext.ObjectStateManager.GetObjectStateEntry(entiteit).OriginalValues[ ] Concurrency & Transactions Pessimistic Concurrency betekent locks op de database tussen het lezen en het wijzigen. SQL Server Default. Optimistic Concurrency betekent geen locks op de database vanaf het lezen. Entity Framework Default. Het Entity Framework overschrijft standaard altijd, de laatste wijziging wint. Als je op alle kolommen in het Entity Model Concurrency Mode=Fixed zet, of op een Modified Date kolom per Entity, dan eist de gegenereerde SQL onder het Entity Framework dat de oude waarde nog bestaat voordat de nieuwe waarde weggeschreven wordt met een WHERE clause met de oude waarde bij de UPDATE. Pas als Concurrency Mode=Fixed is gezet en de oude waarde klopt niet meer, pas dan kan er een Optimistic Concurrency Exception optreden. Elke ObjectContext.SaveChanges() is impliciet 1 transactie. Bij 8 wijzigingen en 1 Concurrency Exception, zullen alle 8 wijzigingen gerollbacked worden. Uit een Optimistic Concurrency Exception kun je vissen wat de huidige database waarde is en wat de oude en nieuwe waarde van de ObjectContex.SaveChanges() was. Dan kun je de gebruiker Functioneel notificeren over wat er gebeurt is en het invoer scherm opnieuw aanbieden.

7 Je kunt Transacties beginnen met SQLTransaction t=connection.begintransaction() en meegeven op elke SQLCommand in de transactie en afsluiten met t.commit() of t.rollback(). Een transactionscope is een apart object over meerdere connections heen. Binnen het using block van de transactionscope vallen alle ObjectContex.SaveChanges() binnen 1 transactie. Aan het einde komt dan een scope.complete(). Wil je een transactie scope rollbacken doe dan een scope.dispose(). Als een ObjectContext.SaveChanges() binnen een transactie mislukt en gerollbacked wordt, denkt de ObjectContext standaard dat het wel gelukt is en werkt de ObjectContext Cache bij als zijnde gelukt. Wil je dit standaard gedrag niet, geef dan aangepaste SaveOptions.None mee bij de ObjectContext.SaveChanges( SaveOptions.None ). Dan wordt de ObjectContext Cache helemaal niet meer bijgewerkt. Doe dit dan zelf, alleen bij een geslaagde transactie, door ObjectContext.AcceptAllChanges(). Om transacties te kunnen gebruiken moet je nog een reference adden vanuit je Visual Studio project naar System.Transactions. De transaction isolationlevel kun je zetten: - ReadUnCommitted, transacties kunnen elkaars uncommitted data lezen. - ReadCommitted, transacties kunnen alleen elkaars committed data lezen. - RepeatableRead, een transactie locked alle data die die leest. - Serializable, een transactie locked alle data van een tabel die gebruikt wordt. Dit is Default. Er zijn 3 soorten transacties: - Implicit, bijvoorbeeld ObjectContext.SaveChanges(), waar geen code voor geschreven hoeft te worden. - Explicit, code schrijven om de transactie te beginnen en te eindigen. - Distributed, hetzelfde als expliciet, maar dan over meerdere datasources heen.

8 Optimization De performance van het Entity Framework kun je optimaliseren op verschillende manieren: Je kunt de ObjectContext.Connection.Open() en Close() handmatig doen, en daartussen meerdere.savechanges(). om de connectie open te houden en extra performance te bereiken. Je.edmx Entity Model handmatig creeren met EdmGen.exe. Dit betekent een.cs file maken van je ssdl, csdl en msl binnen de.edmx file. IIS doet dit bij de allereerste keer zelf, maar deze stap kun je er dus tussenuit halen om dit designtime zelf te doen. Je kunt NoTracking instellen. Geen oude en nieuwe waarden bijhouden binnen de ObjectContext. Je kunt Compiled queries gebruiken. Normaal gesproken moet een Linq query vertaald worden naar Database SQL. Met een een compiled query genereert hij die niet elke keer runtime, maar eenmalig en staat de Database SQL al klaar. Zet deze compiled query in de Application_Onstart en beschikbaar voor de gehele applicatie en ziehier de performance winst. De syntax is: static Func<EntityModel, IQueryable<Entity>> compiledquery = CompiledQuery.Compile<EntityModel, IQueryable<Entity>> (ent => from e in ent.entity where e.column > waarde select e); Je kunt een background worker proces gebruiken om in een andere Thread werk af te handelen. De syntax is: BackgroundWorker bw = new BackgroundWorker(); Bw.RunWorkerAsync(); Hierbij moeten er 2 events gedefinieerd worden: DoWork() en RunWorkerCompleted() om het werk in te zetten en de callback functie te definieren.

9 Customization Entities worden uitgegenereerd in partial classes. Daarnaast kun je zelf een partial class maken voor deze entity en er extra informatie op elke property en extra properties op meegeven. Als het Entity Model opnieuw gegenereerd wordt vanuit de database, dan blijven deze aanpassingen in je eigen partial class. Ook heeft elke property van een gegenereerde Entity een partial propertychanging en een partial propertychanged methode. In je eigen partial class kun je ook deze partial methods definieren en er bijvoorbeeld DataRules in afdwingen. Helaas gaan de propertychanging en properychanged partial methods ook af bij het ophalen van data. Voor de performance erg onhandig dat de DataRules dan ook afgaan. Een partial method kan niet uitgerust worden met public. Wil je de partial method buiten de eigen class gebruiken, zet er dan een public function naast die de partial method aanroept. Daarnaast zijn extension methods mogelijk. Begin een willekeurige static class en definieer daar static extension methods. Bijvoorbeeld: public static bool IsIntBigNumber(this int getal) {return getal > 1000;} Nogal een freestyle manier om een extension method met het keyword this op een integer zetten. Met de tttt (T4) taal is beschreven hoe een.edmx XML file omgezet wordt in de.cs file waarin de Entities type safe in gegenereerd worden. Je kunt een ADO.Net EntityObject Generator.tt file toevoegen aan je project. Hierin kun je de.edmx file specificeren en op je eigen manier de Entities type safe uitgenereren in een.cs file. Zet dan wel in je.edmx file de Code Generation Strategy op None, dit voorkomt het uitgenereren in de.cs aldaar, want anders heb je alle Entities 2x in je namespace gedefinieerd. Daarnaast kun je ook zelf een custom Entity class maken die afgeleid is van EntityObject. Als je deze class met de juiste attributen als [EdmEntitytype(Namespacename= EntityModel )] uitrust, dan wordt je eigen custom Entity class beschikbaar binnen het Entity Framework. Let wel alle primairy en foreign keys moeten allerlei attributen hebben. Dit is veel werk.

10 POCO Entity classes (Plain Old CLR Objects) Met POCO Entity classes ga je niet Entity Framework classes, toch in de ObjectContext laden. Dit kan op 3 manieren. - Je kunt ObjectContext.Attach(eigenobject) aanroepen en het persisteren naar de database via het Entity Framework. - Of met ObjectContext.CreateObject() een entity framework object maken en de POCO class properties eroverheen kopieren en het persisteren naar de database via het Entity Framework. - De POCO classes hebben hun eigen code om persisteren naar de database. Je maakt wel een.edmx file met entiteiten voor de classes, maar genereert niet de code erachter, door Code Generation Strategy op None te zetten. Je wint de voordelen van de ObjectContext, zoals Caching. Een aantal voorwaarden: de classname en property names moeten gelijk zijn aan de entiteiten in de.edmx file. Verschillen kun je oplossen in de MSL mappingen van de.edmx file. Classes moeten public zijn, een public constructor hebben en de ProxyCreationEnabled property op true hebben. Daarnaast moet je van bijvoorbeeld het entiteit Product, wel de Products ter beschikking hebben, dit kun je doen met CreateObjectSet(). Lazy Loading is het automatisch ophalen van gerelateerde data achter de data. Er moeten wel Associations gedefinieerd zijn en die Navigation Properties moeten public en virtual zijn. De concurrent is Eager Loading, dit is het meteen ophalen van alle gerelateerde data. In Linq kun je een.include( gerelateerde data ) definieren om de gerelateerde data expliciet op te halen. Change Tracking is het bijhouden van oude en nieuwe waarden. Het Entity Framework maakt onder water 2 objecten, 1 voor de oude en 1 voor de nieuwe waarden. Voorwaarden, alle properties moeten public en virtual zijn en je moet overal in code ObjectContext.CreateObject() gebruiken ipv een new. Om de dubbele objecten te creeren. Voor het persisteren van de data moet de ObjectStateManager eerst in de goede status gezet worden. Roep altijd eerst de ObjectContext.DetectChanges() om dit te doen vlak voor de ObjectContext.SaveChanges().

11 N-Tier Solutions Over web services data uitwisselen, of in de web front end data ter beschikking stellen kan met: - DataSets, iedereen gebruikt microsoft en heeft change tracking, dure data. Dit is legacy. - Data transfer object (DTO), XML, open, geen change tracking. Dit is een uitgeklede versie van een entity, waar alleen het hoognodige in zit. Dit is architectureel het mooiste. Maak een apart DTO DataContract met Datamembers aan, en maak een mapping van en naar de Entities van het Entity Framework. - Simple Entity (SE),.net Entity Framework detached entity in XML, geen change tracking De simple entity komt terug met nieuwe waarden en kun je met.attach weer in de ObjectContext plaatsen. o Met.DetectChanges() kun je de ObjectContext bijwerken qua change tracking. o Daarnaast kun je ook met ObjectContext.ObjectStateManager.ChangeObjectState(object, Entitystate.Modified) de status handmatig updaten. - Self Tracking Entity (STE),.net Entity Framework detached entity, maar dan met wat extra functionaliteit voor change tracking. Self Tracking Entities maken kan met een ander T4 Model: ADO.Net Self Tracking Entity Generator. o Dit genereert weer alle classes uit op basis van een.edmx bestand, maar dan in allemaal aparte classes onder een.tt bestand met extra change tracking functionaliteit. Via Web Services stel je de objecten ter beschikking via WSDL. Aan de Client kant wordt dan een proxy gegenereerd met deze object. Met een WPF windows client zet je de Self Tracking Entities apart in een eigen class project, lees dll, waarnaar de WPF windows client kan verwijzen, zonder notie te hebben van het Entity Framework. o Tevens genereert het een context.tt bestand met daarin de code die nodig is om de extra informatie op het Self Tracking object weer in te laden in de ObjectContext. Bij de.attach() wordt de ObjectContext bijgewerkt qua change tracking. Zet wederom wel in je.edmx file de Code Generation Strategy op None, dit voorkomt het uitgenereren in de.cs aldaar, want anders heb je alle Entities 2x in je namespace gedefinieerd. o MarkAsDeleted() op de STE aanroepen op de client markeert een object als te deleten, komt het object dan met.attach() terug in de ObjectContext, dan weet het Entity Framework dat het object gedelete moet worden. ApplyChanges() vlak voor SaveChanges() kan ipv een.attach() zorgen voor het weer binnen de ObjectContext laden. Dit kan als de.attach() niet werkt als het object in de tussentijd geattached is door andere functionaliteit. Met het PrinciplePermission attribute kun je de autorizatie afdwingen op een WCF service operation, de syntax is: [PrincipalPermission (SecurityAction.Demand, Role= Admin )]

12 Updates in N-Tier Los van het laden van waarden en het wederom persisteren van data kun je ook Waarden berekenen of laten genereren: - Vanuit de database kunnen wijzigingen terugkomen naar het Entity Framework. Zoals een auto identity van een primairy key. Op een kolom in de.edmx file kun je dan zeggen: StoreGeneratedPattern = Identity. Dan zal de automatisch generereerde waarde in de kolom vanuit de database geladen worden in de ObjectContext. - Daarnaast kunnen er ook calculated fields in de database aanwezig zijn. Op een kolom in de.edmx file kun je dan zeggen: StoreGeneratedPattern = Computed. Dan zal de berekende kolom vanuit de database geladen worden in de ObjectContext. - Op een kolom in de.edmx file kun je ook zeggen: StoreGeneratedPattern = None. Dit is standaard. In het geval van een Calculated Field wordt je dan in een partial class naast de gegenereerde Entities partial class zelf verantwoordelijk voor het uitrekenen van de kolom. Een UpdateException kan ontstaan wanneer de integriteit van de database in het geding komt, wanneer de database bijvoorbeeld meer constraints heeft dan het Entity Model. Een OptimisticConcurrencyException kan ontstaan wanneer er tegen concurrency problemen aangelopen wordt. Maak hier een FaultException van die geserializeerd kan worden als bijvoorbeeld een SOAP fault naar de clients van een WCF service. Connection pooling is een cache van het hergebruiken van connections. Connectionstrings kun je encrypten en decrypten met de command line tool: aspnet_regiis.exe Dit moet per se op de server waar de web.config staat. Occasionally Connected Occasionally connected is bedoeld voor Windows applicaties. Hierin zijn 2 strategieen, alles zelf maken met Linq 2 XML of het Sync Framework gebruiken. Linq 2 XML Er zijn een nieuwe generatie XML objecten beschikbaar: Linq 2 XML Classes. Xdocument, Xelement en Xattribute. In combinatie met Linq kun je middels een Linq query de Xdocument vullen met Xelement en Xattribute naar eigen invulling vanuit een Entity. Met.Save() kun je een XML file saven op disk. Met de Xelement.Load() kun je de XML weer lezen vanaf disk. Je moet dan wel casten naar de werkelijke typen, want uit XML komen alleen maar strings. Hier kun je dan met Linq weer queries op schrijven. Hier heb je dan geen Xpath voor nodig. Deze Xml documenten op disk kun je encrypten met het object EncryptedXML. Op dit object kun je.encryptdata() en DecryptDocument() functies beschikbaar. (Met de XmlSerializer kun je een Entity serialiseren naar XML en ook wegschrijven naar disk.)

13 Het Sync Framework Je kunt een Local Database Cache.sync file toevoegen aan je project. Dan kun je door een wizard heen lopen om de tabellen aan te wijzen die je lokaal wilt cachen, als er geen connectie is. Dit levert uiteindelijk een.sdf database file op op de client. Het syncen zelf kan je aan SQL Server overlaten, of zelf velden of tabellen aanwijzen op basis waarvan de sync moet gaan plaatsvinden. Ja, het Sync Framework werkt alleen met SQL Server. Synchronisatie kan in verschillende modes, in te stellen met SyncDirection per Tabel in code: - Snapshot, totale delete en insert van de client data bij de synchronisatie. - Download Only, server wijzigingen komen door op de client. Client kan niet persisteren. - Upload Only, client kan wijzigen. Updates van de server komen niet terug naar de client. - BiDirectional, client en server kunnen de sync updaten. Kans op conflicten Synchoriseren is enkel tussen 2 databases. Je krijgt in je project dan: - Extra referenties naar het sync framework - Sql scripts om de server database uit te rusten met sync data. - Een.sdf file voor de lokale cache - Een.sync file, waar de output van de Sync Framework wizard in staat In code kun je dan de LocalSyncAgent.Synchronize() aanroepen. Verwacht bij lange offline tijden wel concurrency problemen. Deze conflicten kun je oplossen met de volgende Actions: - Continue, Default, de wijziging wordt niet doorgevoerd - RetryApplyingRow, nog een keer proberen - RetryWithForceWrite, nog een keer proberen en wijziging toch doorvoeren De lokale database.sdf valt te encrypten bij de create van de database. De connectionstring naar de database moet dan met encrypt database=true. WCF Data Services Naast de WCF Service is er ook nog de WCF Data Service. De WCF Data Service zorgt ervoor dat de Cache van de ObjectContext volledig ter beschikking is bij de Client. Nu moet je om de ObjectContext te kunnen genereren geen connectionstring gebruiken met csdl, msl, ssdl en de database connection, maar een URI naar de WCF Data Service. Uiteraard werkt dit alleen met een.net Client die het Entity Framework ondersteund. De service kun je aanroepen via de url: Alles wat je in SQL kan doen, kan je nu op de url doen. Selecten met?$select en?$filter voor de where clause en?$orderby voor de order. De data die terugkomt is dan het Open Data Protocol: Odata.

14 Security moet dan wel goed afgedwongen worden met SetEntitySetAccessRule(entiteit, EntitySetRights.AllRead) voor alleen lezen van 1 specifieke Entity. Maximaliseren van het aantal result waarden kan met SetEntityPageSize(entiteit, 100). Vanuit een Client kun je een Service Reference leggen naar de WCF Data Service. En de Client kun je dan de WCF Data Service zijn ObjectContext gebruiken. Met de.addqueryoption() op een Entity van de ObjectContext maakt je vanuit code extra?$ url opties die je helpen om te querien door de data. Tevens kun je voorgedefinieerde methoden op de WCF Data Service definieren ipv iedereen via de url alles te laten selecten. Voor een select method gebruik het attribuut [WebGet] boven de method. En voor Insert / Update / Delete methods gebruikt het attribuut [WebInvoke] boven de method. Updating Wanneer de ObjectContext.SaveChanges() vanuit de Client zijn Cache gedaan wordt, moeten alle Entities met CRUD vertaald worden via de HTTP Response naar de WCF Data Service met alle Insert / Update / Delete syntaxen. Onder water wordt gebruikt: - HTTP POST voor de Create - HTTP PUT en HTTP MERGE voor een Update - HTTP DELETE voor een Delete Op het moment dat er gerelateerde data is, bijvoorbeeld Products.Categories, moet je aan de Client kant toch nog extra zaken regelen, ondanks dat je de ObjectContext ter beschikking hebt: - AddRelatedObject, een nieuwe bidirectional link tussen 2 Entities - AddLink, een link tussen 2 Entities vanuit de Many kant - SetLink, een link tussen 2 Entities vanuit de 1 kant - DeleteLink, verwijderd een link tussen 2 Entities. Dan moet het foreign key id wel nullable zijn of mede verwijderd zijn anders krijg je bij SaveChanges() een foreign key fout - AttachLink, zet change tracking aan voor gerelateerde data, handig wanneer de Entities zelf net ook geattached zijn - DetachLink, zet change tracking uit voor gerelateerde data Naast Updating via de Entity Framework Provider, kun je ook updaten via 3 andere providers: - Reflection Provider, die implementeerd de Iqueryable en de Iupdatable interfaces om standaard non-entity CLR objecten naar de client te ontsluiten. - Streaming Provider, om Binairy over te krijgen naar de Client. - Een serie Custom Data Providers, om je eigen Providers te schrijven.

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Entity Framework en Entity SQL

Entity Framework en Entity SQL Thema Entity Framework en Entity SQL DATABASETOEGANG EN OBJECT RELATIONAL MAPPING MET HET ENTITY-MODEL. Hoe bouw je een persistence-laag met ADO.NET 3.5? De auteur maakt in zijn voorbeeld gebruik van het

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Met deze handleiding moet u in staat zijn om zelf een mobile applicatie te ontwikkelen voor offline gebruik met een filter.

Met deze handleiding moet u in staat zijn om zelf een mobile applicatie te ontwikkelen voor offline gebruik met een filter. Inleiding De toepassing Met deze handleiding moet u in staat zijn om zelf een mobile applicatie te ontwikkelen voor offline gebruik met een filter. Maak een Smart Device project aan. Voeg een nieuwe Windows

Nadere informatie

Synchronisatie van data

Synchronisatie van data Thema Synchronisatie van data IN COMBINATIE MET SQL SERVER 2008 GOEDE STEUN VOOR ONTWIKKELAAR Om synchroniseren aanmerkelijk eenvoudiger te maken, heeft Microsoft de ADO.NET Sync Services uitgebracht.

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig

Nadere informatie

Automatische Installatie op IIS server

Automatische Installatie op IIS server Automatische Installatie op IIS server In de map Web staat het installatiebestand : Je kan de install starten door het aanklikken van het msi bestand vanuit Verkenner. Na installatie is steeds een manuele

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

Nadere informatie

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen

Nadere informatie

Service Data Objects. Wat is SDO? Dynamic data API

Service Data Objects. Wat is SDO? Dynamic data API Service Data Objects Het is tegenwoordig misschien moeilijk voor te stellen maar er zijn nog steeds situaties waarbij je geen netwerk verbinding hebt. Hier ben ik de afgelopen tijd meerdere malen tegenaan

Nadere informatie

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

INHOUDSOPGAVE 3. 3.5 Het Boekenwinkeltje... 90 3.5.1 Registreer.aspx... 90 3.6 Opgaven... 97

INHOUDSOPGAVE 3. 3.5 Het Boekenwinkeltje... 90 3.5.1 Registreer.aspx... 90 3.6 Opgaven... 97 Inhoudsopgave 1 Inleiding 8 1.1 Het.Net Framework................................ 8 1.1.1 Het.Net Ontwikkelingsmodel....................... 8 1.1.2 Compilatie en Uitvoering in.net.....................

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie.

Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie. Introductie Dit artikel laat zien hoe je een Image in een C# applicatie kan opslaan in een database en het kan ophalen uit de database om het te laten zien. Voor de database gebruiken we MS SQL maar voor

Nadere informatie

INFITT01 - Internettechnologie WEEK 8

INFITT01 - Internettechnologie WEEK 8 INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de

Nadere informatie

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en

Nadere informatie

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen.

Extra details van de performance in de database kunt u zien met het Top Activity scherm dat u van hieruit kunt tonen. Real-time performance diagnose in Oracle In Oracle 10g en 11g is het mogelijk om de database performance real-time te volgen, als u de licentie voor Diagnostics Pack heeft aangeschaft (en de Enterprise

Nadere informatie

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

MVC BASICS 2. Kevin Picalausa

MVC BASICS 2. Kevin Picalausa MVC BASICS 2 Kevin Picalausa 1 Forms 2 Action en Method Action Vertelt de Browser naar waar de form data (informatie) door te zenden. URL kan relatief of absoluut zijn. Method De manier waarop de form

Nadere informatie

ASP.NET Test 2009-2010. Jan Van Ryckeghem

ASP.NET Test 2009-2010. Jan Van Ryckeghem ASP.NET Test 2009-2010 Jan Van Ryckeghem Inhoud Exceptionhandling H4... 3 Try Catch slide 25... 3 Error pagina slide 29... 3 Error.aspx... 3 Error.aspx.cs... 4 Web.config... 4 Logbestand aanmaken... 4

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Capita Selecta Design Patterns voor administratieve applicaties

Capita Selecta Design Patterns voor administratieve applicaties Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26

Nadere informatie

Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice

Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice Aquo Domeintabellen Services (Aquo DS) Handleiding Webservice handleiding voor de programmeur Auteur: Informatiehuis Water Documentbeheer Wijzigingshistorie Datum Versie Auteur Wijziging Aat van den Heuvel

Nadere informatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van

Nadere informatie

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen Gebruikers handleiding Lizard Configuration Manager ToolTip Installatie Installeer eerst het volgende: Installeer python 2.5.2; zie de map Breda\Tooltip\lcm\install\python-2.5.2.msi Ga naar dos (run/uitvoeren

Nadere informatie

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag

ArcGIS Mobile ADF. Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag ArcGIS Mobile ADF Smart Client Applicaties voor ArcGIS Server Eva Dienske, Wim Ligtendag Agenda Wat is de Mobile ADF? Architectuur Demo Wat is de mobile ADF? Ontwikkeltoolkit voor mobiele (Smart Client)

Nadere informatie

EMBEDDED SQL. Inleiding. Queries en update-opdrachten. Embedden en hostvariabelen

EMBEDDED SQL. Inleiding. Queries en update-opdrachten. Embedden en hostvariabelen Inleiding In het boek Databases & SQL wordt beschreven hoe opdrachten in de programmeertaal SQL gebruikt worden om de inhoud van een relationele database te raadplegen en te bewerken. SQL wordt daarbij

Nadere informatie

Transactions in.net. Er zijn diverse Isolation levels. Afhankelijk van het level wordt er meer gelocked.

Transactions in.net. Er zijn diverse Isolation levels. Afhankelijk van het level wordt er meer gelocked. Anko Duizer is werkzaam als trainer/coach bij Class-A (www.classa.nl). Daarvoor heeft hij vijf jaar gewerkt bij Microsoft als consultant. Onder zijn klantenkring bevinden zich voornamelijk Top100-bedrijven

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

Een Data Driven toepassing op basis van Visual Objects en SQL Server

Een Data Driven toepassing op basis van Visual Objects en SQL Server Een Data Driven toepassing op basis van Visual Objects en SQL Server Door Bert Dingemans www.dla-architect.nl Inleiding In voorgaande artikelen heb ik een aantal onderwerpen belicht die ten grondslag liggen

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Adelia Studio Nieuw in versie 12

Adelia Studio Nieuw in versie 12 Adelia Studio Nieuw in versie 12 Web Services Ondersteuning voor complexe toegangsparameters van Web Services voor Visual- en Webprogramma s: gebruik van het type one-way (IN-ONLY); time-out management

Nadere informatie

Stappenplannen MailPlus SOAP API

Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API Stappenplannen MailPlus SOAP API oktober 2009 Introductie Dit document bevat stappenplannen welke u als technische gebruiker van MailPlus op weg kunnen helpen met de koppeling

Nadere informatie

Automatisch Testen. Customer Business Lunch. 6 november 2014. Netherlands Germany Switzerland Serbia

Automatisch Testen. Customer Business Lunch. 6 november 2014. Netherlands Germany Switzerland Serbia Automatisch Testen Netherlands Germany Switzerland Serbia Customer Business Lunch 6 november 2014 3 Vraag? Doen wij al aan automatisch testen? 4 Agenda Automatisch testen Waarom? Mogelijkheden Demo Conclusie

Nadere informatie

TECHNICAL DESIGN DOCUMENT

TECHNICAL DESIGN DOCUMENT TECHNICAL DESIGN DOCUMENT BACHELORPROJECT IN3405 John Ciocoiu 1358227 Elwin Dokter 1275909 TECHNISCHE UNIVERSITEIT DELFT FACULTEIT EWI WOENSDAG 28 APRIL 2010 VERSIE 1 COMMISSIE: Ing. D.J. van Roest (opdrachtgever)

Nadere informatie

Een website maken met databasetoegang.

Een website maken met databasetoegang. Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,

Nadere informatie

DATA- WAREHOUSE ONTWIKKELING

DATA- WAREHOUSE ONTWIKKELING MODEL GEDREVEN DATA- WAREHOUSE ONTWIKKELING MET MICROSOFT BI door Willem Otten, Microsoft BI-consultant Kadenza Lees het volledige artikel en andere blogs op www.playitsmart.nl/blog Ik ben een groot voorstander

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Installatie King Task Centre

Installatie King Task Centre Installatie King Task Centre In deze handleiding wordt beschreven hoe u het King Task Centre moet installeren. Deze handleiding geldt voor zowel een nieuwe installatie, als voor een upgrade van een bestaande

Nadere informatie

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster

Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster 4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens

Nadere informatie

Absentie Presentie Server Migratie

Absentie Presentie Server Migratie Absentie Presentie Server Migratie Auteur A. Boerkamp Versie V1.2 Datum 11-08-2010 Status Voor Intern / Extern gebruik Pincash International, 3066GS Rotterdam, Anthonetta Kuijlstraat 43-45, 010-2868000

Nadere informatie

Adelia Studio Nieuw in versie 12

Adelia Studio Nieuw in versie 12 Adelia Studio Nieuw in versie 12 Web Services Ondersteuning voor complexe toegangsparameters van Web Services voor Visual- en Webprogramma s: gebruik van het type one-way (IN-ONLY); time-out management

Nadere informatie

Technische nota AbiFire5 Rapporten maken via ODBC

Technische nota AbiFire5 Rapporten maken via ODBC Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...

Nadere informatie

ODS: Open Directory service. Wat is ODS?

ODS: Open Directory service. Wat is ODS? Wat is ODS? Wat is ODS? Geïntegreerde Meta-directorie voor OpenScape Office LX/MX/HX voor het zoeken van contacten in verschillende databasen en directories. Toegang verlenen naar verschillende directories.

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum.

Kennissessie INSPIRE. Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum. Kennissessie Algemene vereisten & architectuur Metadata View Services Download Services Ondersteuning vanuit Geonovum Thijs Brentjens Inhoud Download Services Pre-defined datasets via Atom feeds Pre-defined

Nadere informatie

Installatie Groeps Login app

Installatie Groeps Login app Installatie Groeps Login app Inleiding Deze handleiding bestaat uit twee delen: 1. Voor de systeembeheerder: technische installatie van de Groeps Login app 2. Voor de systeembeheerder of gebruiker: installatie

Nadere informatie

Installatie Solid Edge ST5

Installatie Solid Edge ST5 Installatie Solid Edge ST5! NEEM DIT DOCUMENT DOOR VOORDAT U UW HUIDIGE SOLID EDGE VERSIE GAAT VERWIJDEREN! LET OP!! SOLID EDGE ST5 KUNT U NIET MEER OP WINDOWS XP INSTALLEREN LET OP!! DE ST5 LICENSE MANAGER

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

Maak een pivot uit een Generic.List

Maak een pivot uit een Generic.List Maak een pivot uit een Generic.List Introductie in extensions, reflection en code generation Nivo: 400 Introductie In bepaalde gevallen komt het voor dat je een Generic.List van een specifieke class hebt,

Nadere informatie

Oracle client 1.2 voor ixperion 1.3 en hoger

Oracle client 1.2 voor ixperion 1.3 en hoger Installatiehandleiding Oracle client 1.2 voor ixperion 1.3 en hoger voor Windows 2008 R2 64bit Copyright 2010 Versie 1.0.1 Seneca 2010 1 Auteur: ing. Silvio Bosch Versiebeheer: Versie Status Datum Omschrijving

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

SQL & Datamodelleren

SQL & Datamodelleren SQL & Datamodelleren HVA-CMD-V1-datamodelleren Algemene handleiding bij het lesprogramma 2012-2013 Inhoud Inhoud... 2 Inleiding... 3 Leerdoelen:... 3 Plaats in het leerplan:... 3 Werkwijze:... 3 Lesstof:...

Nadere informatie

Installatie SQL: Server 2008R2

Installatie SQL: Server 2008R2 Installatie SQL: Server 2008R2 Download de SQL Server 2008.exe van onze site: www.2work.nl Ga naar het tabblad: Downloads en meld aan met: klant2work en als wachtwoord: xs4customer Let op! Indien u een

Nadere informatie

Versturen van email vanuit een Delphi VCL toepassing

Versturen van email vanuit een Delphi VCL toepassing Versturen van email vanuit een Delphi VCL toepassing Voor Delphi bestaan uiteraard verschillende libraries om emails te versturen, maar in dit voorbeeld wordt een C# Dotnet library gebruikt en aangesproken

Nadere informatie

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho.

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho. Automatisering voor Financiële Dienstverleners Werken met Queries en Merge Documenten For more information visit our website at www.pyrrho.com Date: Document Nr: 30 maart, 2007 UBizzMerge, Versie 4.0 Status:

Nadere informatie

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet. Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het

Nadere informatie

SPTOOLS SHAREPOINT CONNECTOR -

SPTOOLS SHAREPOINT CONNECTOR - SPTOOLS SHAREPOINT CONNECTOR - 1/6 Inhoudsopgave 1. SPTOOLS... 3 WAT KAN HET?... 3 Document Browser...3 Document Bundels...3 Consistente Data Quality...3 SharePoint workflows en document goedkeuring...3

Nadere informatie

Hoofdstuk 6. PHP Data Objects. Cursus PHP & MySQL Groep D

Hoofdstuk 6. PHP Data Objects. Cursus PHP & MySQL Groep D Hoofdstuk 6 PHP Data Objects Cursus PHP & MySQL Groep D Hoofdstuk 1: PHP Data Objects 1.1 Inleiding Tegenwoordig kun je er bij het ontwikkelen van een website bijna niet meer omheen: het gebruik van een

Nadere informatie

Webapplicatie-generatie NIOC 2013

Webapplicatie-generatie NIOC 2013 Webapplicatie-generatie NIOC 2013 Eddy Luursema, Misja Nabben, Arnoud van Bers Research Group Model Based Information Systems Presentation Introduction M-BIS Data intensive systems Requirements Generation

Nadere informatie

Werking van de Office Connector, en het oplossen van fouten.

Werking van de Office Connector, en het oplossen van fouten. Werking van de Office Connector, en het oplossen van fouten. De Office Connector zorgt ervoor dat de Microsoft Officeomgeving gebruikt kan worden als ontwerp en genereeromgeving voor documenten waarbij

Nadere informatie

mymanualsolarapp - What s Your Solar Power Today?

mymanualsolarapp - What s Your Solar Power Today? mymanualsolarapp - Inleiding De manual versie is speciaal gemaakt voor zonnesysteem eigenaren die hun pc niet de hele dag aan willen laten staan of geen computer gekoppelde inverter systemen hebben. Door

Nadere informatie

Installatie en configuratie documentatie

Installatie en configuratie documentatie Installatie en configuratie documentatie Assistance Web Portal v. 2.58, 2.60 Voor Windows 2003 / 2008 / XP / Vista / Windows 7 Assistance PSO handleiding, uitgegeven door Assistance Software. Alle rechten

Nadere informatie

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM Tips & Tricks Eigen Widgets in CRM Eigen Widgets in CRM Introductie De WebUI van CRM 7.0 maakt het mogelijk om je eigen widgets te maken en deze in je eigen view te gebruiken. Dat kan door gebruik te maken

Nadere informatie

1. * Database worden vaak gebruikt in Client-Server architectuur.

1. * Database worden vaak gebruikt in Client-Server architectuur. Naam Studentnummer Klas Herkansing [ ] ja, nee [ ], zoja uit welk jaar? kernbegrippen relationele database Minimaal drie van de vijf vragen goed beantwoorden. 1. * Database worden vaak gebruikt in Client-Server

Nadere informatie

Multi user Setup. Firebird database op een windows (server)

Multi user Setup. Firebird database op een windows (server) Multi user Setup Firebird database op een windows (server) Inhoudsopgave osfinancials multi user setup...3 Installeeren van de firebird database...3 Testing van de connectie met FlameRobin...5 Instellen

Nadere informatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

Standard Parts Installatie Solid Edge ST3

Standard Parts Installatie Solid Edge ST3 Hamersveldseweg 65-1b 3833 GL LEUSDEN 033-457 33 22 033-457 33 25 info@caap.nl www.caap.nl Bank (Rabo): 10.54.52.173 KvK Utrecht: 32075127 BTW: 8081.46.543.B.01 Standard Parts Installatie Solid Edge ST3

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Installatie van sqlserver

Installatie van sqlserver Installatie van sqlserver Download SQLserver 2005 Express basis van de website van 2work: www.2work.nl, tabblad downloads; beveiligde zone. De inlog gegevens kunnen via de helpdesk aangevraagd worden.

Nadere informatie

AFO 139 Automatische export

AFO 139 Automatische export AFO 139 Automatische export 139.1 Inleiding Vubis Smart beschikt over de mogelijkheid om volledig automatisch beschrijvingen te exporteren naar bestanden op de server. Andere bibliotheken (ongeacht of

Nadere informatie

Fun met webparts in ASP.Net

Fun met webparts in ASP.Net Fun met webparts in ASP.Net Deel 2:User controls en Webparts door Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Inhoudsopgave FUN MET WEBPARTS IN ASP.NET... 1 DEEL 2:USER CONTROLS EN WEBPARTS...

Nadere informatie

Temperatuur logger synchronisatie

Temperatuur logger synchronisatie Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie

Nadere informatie

Logicworks CRM en Microsoft SQL Server 2005 (Express) Introductie

Logicworks CRM en Microsoft SQL Server 2005 (Express) Introductie Logicworks CRM en Microsoft SQL Server 2005 (Express) - Introductie - Microsoft SQL Server 2005 Express installeren - Microsoft SQL Server 2005 Express configureren - Database collation - Logicworks CRM

Nadere informatie

DB architectuur. joost.vennekens@denayer.wenk.be

DB architectuur. joost.vennekens@denayer.wenk.be DB architectuur joost.vennekens@denayer.wenk.be DB - logisch perspectief - DB - fysisch perspectief - DBMS Fysische details van databank beheren Zodat gebruiker zich enkel om logische perspectief moet

Nadere informatie

Technische FAQ koppelvlak WUS 2.0 voor bedrijven

Technische FAQ koppelvlak WUS 2.0 voor bedrijven Technische FAQ koppelvlak WUS 2.0 voor bedrijven Versie 1.0 Datum 25 juli 2012 Status Definitief Colofon Projectnaam Versienummer Contactpersoon Organisatie Logius Postbus 96810 2509 JE Den Haag servicecentrum@logius.nl

Nadere informatie

NetPay Desktop Reporting. Rapportage voor Xafax NetPay

NetPay Desktop Reporting. Rapportage voor Xafax NetPay NetPay Desktop Reporting Rapportage voor Xafax NetPay Inhoud 1.0.0 NetPay Desktop Reporting... 3 1.1.0 Minimumeisen... 3 1.2.0 NetPay instellingen... 3 1.2.1 Access Rights groepen... 3 1.2.2 Gebruikers

Nadere informatie

OFFICE A LA CARTE - ACCESS 2013

OFFICE A LA CARTE - ACCESS 2013 OFFICE A LA CARTE - ACCESS 2013 Inhoud HOOFDSTUK ACC-1.1: TERMINOLOGIE - (0:20) Wat is een database? Onderdelen van een database Tabellen en relaties Schematisch overzicht van de structuur van een database

Nadere informatie

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

Nadere informatie

Perceptive Process. Release Notes. Version: 3.5.x

Perceptive Process. Release Notes. Version: 3.5.x Perceptive Process Release Notes Version: 3.5.x Written by: Product Knowledge, R&D Date: December 2015 2015 Lexmark International Technology, S.A. All rights reserved. Lexmark is a trademark of Lexmark

Nadere informatie

SQL datadefinitietaal

SQL datadefinitietaal SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen

Nadere informatie

UBC op Microsoft Windows 64-bits

UBC op Microsoft Windows 64-bits UBC op Microsoft Windows 64-bits Inleiding Op de 64-bits varianten van Windows werkt de UBC (en vele andere pakketten) op een andere manier dan op de oudere 32-bits varianten van deze Windows versies.

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

Handleiding Magento - Asperion

Handleiding Magento - Asperion Handleiding Magento - Asperion www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Asperion. De koppeling zorgt dat voor facturen in Magento automatisch een factuur

Nadere informatie

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem.

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem. De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem. Vele van ons willen wel eens spelen met de WEB-IDE in de could via het SAP Trial Hana

Nadere informatie

In een klassendiagram worden klassen beschreven in termen

In een klassendiagram worden klassen beschreven in termen Sander Hoogendoorn is Partner bij Ordina Patterns voor het gebruik van referenties in bedrijfsklassen G O E D G E B R U I K VA N R E F E R E N T I E S In de dagen dat applicaties voornamelijk bestonden

Nadere informatie

Service Pack notes CRM SPE SP1

Service Pack notes CRM SPE SP1 Service Pack notes CRM SPE SP1 Versie 1.1 INHOUD 1. Stylesheet... 3 2. Bewerken documenten... 4 2.1 Inrichting... 4 3. Opgeloste meldingen en wensen... 5 UNIT4 Software B.V. Disclaimer zoals vermeld op

Nadere informatie

Zelftest Java EE Architectuur

Zelftest Java EE Architectuur Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:

Nadere informatie

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave

Nadere informatie

SQL Developer Data Modeler

SQL Developer Data Modeler SQL Developer Data Modeler Een migratiepad vanuit Oracle Designer Chris Amelink, Manager SO Mark Rooijakkers, Technisch Architect Hans Joop Leendertse, Willem Cortenraad, Technisch directeur Architect

Nadere informatie

Thinking of development

Thinking of development Thinking of development Databases Arjan Scherpenisse HKU / Miraclethings Agenda voor vandaag Opdracht tussenstand State diagram / Observer pattern Bret Victor Databases 2/42 Opdracht tussenstand Slides

Nadere informatie

De MySQL C API. Variabelen in C Functies in C Pointers in C

De MySQL C API. Variabelen in C Functies in C Pointers in C LinuxFocus article number 304 http://linuxfocus.org De MySQL C API door Özcan Güngör Over de auteur: Ik gebruik Linux sinds 1997. Vrijheid, flexibiliteit en opensource. Dat

Nadere informatie

LINQ en SharePoint Development

LINQ en SharePoint Development .NET Framework LINQ en SharePoint Development BREED INZETBAAR EN ZORGT VOOR UNIFORME INTERFACE Mirjam van Olst Met het.net Framework 3.5 zijn de.net-talen uitgebreid met Language Integrated Query, of LINQ.

Nadere informatie

Connectivity SQL Er kan geen verbinding worden gemaakt met de SQL server

Connectivity SQL Er kan geen verbinding worden gemaakt met de SQL server Connectivity SQL Er kan geen verbinding worden gemaakt met de SQL server Introductie Probleem: Het lukt het niet om verbinding te maken met de SQL server. Of: op het werkstation komt de melding na het

Nadere informatie