#4 - SQL Server CE Marco Frontini

Slides:



Advertisements
Presentazioni simili
© 2010 Colt Telecom Group Limited. All rights reserved. Cloud Computing Lapproccio Colt Dionigi Faccedna.
Advertisements

Microsoft SQL Server 2008 Utilizzo. Creazione DataBase CREATE DATABASE CREATE DATABASE Cinema.
Practical Analysis Services
Recovery e Troubleshooting di Active Directory Renato Francesco Giorgini
Sviluppare workflow per il nuovo 2007 Microsoft Office system e Windows SharePoint Services 3.0 Paolo Pialorsi
Services For Unix 3.5 Lintegrazione di piattaforme e applicazioni UNIX con Windows Server 2003 Lintegrazione di piattaforme e applicazioni UNIX con Windows.
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Luca Bianchi Windows Development Day Bologna 28 gennaio 2005 SQL Server Desktop Engine (MSDE) & SQL Server 2005 Express.
Sql Server 2005 Reporting Services - Sviluppo Franco Perduca Factory Software
Microsoft Host Integration Server 2004
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Sql Server 2005 Integration Services - Introduzione Franco Perduca Factory Software
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Confronto di sistemi per
Un DataBase Management System (DBMS) relazionale client/server.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
Introduzione alle griglie computazionali - a.a LEZIONE LEZIONE N. 12 Grid Monitoring modello GMA GridICE GridICE demo Introduzione alle griglie.
Fanno ormai parte della nostra vita di tutti i giorni….
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
New Features + Improvements Miglioramenti alle Situazioni contabili Distribuzione costi Intragruppo in registrazione fatture di acqusti Varie.
Vision Caratteristica generica– disponibile a livello generale Possibilità di personalizzazione Facile da usare (What you see is what you get)
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
PRODOTTO CARTESIANO Otteniamo un prodotto cartesiano quando: viene omessa la condizione di join una condizione di join non è valida tutte le righe della.
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
Constraints.
Componenti dell’architettura Oracle
SQL Server 2012 LocalDB.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Attribution-NonCommercial-ShareAlike SQL Server.
7 cose da sapere su Volume Activation con Windows 7 © 2009 Microsoft Corporation. Tutti i diritti riservati. Come professionista IT, devi sapere che l'attivazione.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
KNOwledge Store. INSTALLAZIONE KNOS 1.Architettura dellapplicazione 2.Prerequisiti hardware 3.Prerequisiti software 4.Installazione ruoli e funzionalità
System for Card DOCUMENTO PROGRAMMATICO SULLA SICUREZZA Presentazione del Servizio ASP di System for Card.
Project Review byNight byNight December 6th, 2011.
Fabio Cozzolino Vito Arconzo
3/29/2017 3:05 AM ©2005 Microsoft Corporation. All rights reserved.
Microsoft SQL Server Versioni di Microsoft SQL Server 2005 SQL Server EXPRESS Edition SQL Server MOBILE Edition SQL Server WORGROUP Edition SQL.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Personalizzazione e porting delle procedure esterne connesse ad Aleph Il caricamento degli utenti della circolazione da files esterni Modifiche introdotte.
Installazione di Drupal su Linux (sistemista) Installazione step-by-step e note.
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
SQL Server 2005 Sicurezza Davide Mauri Factory Software
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Giovedì 17 Aprile 2008 Heroes {Community} Launch Giovedì 17 Aprile 2008.
SUBQUERY Chi ha un salario maggiore di quello di Abel? Occorre scomporre la query in due sotto problemi: MAIN : quali impiegati hanno un salario maggiore.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
SQL Developer Lanciare sqldeveloper (alias sul desktop) / c:\Oracle\sqldeveloper Associare tutti i tipi di file, se volete Tasto destro sulla spina “connection”
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
Dynamic SQL.
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
MKTG 2016.
Paradigma MVC Ing. Buttolo Marco.
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Free .NET Hosting - somee.com
Transcript della presentazione:

#4 - SQL Server CE Marco Frontini marco.frontini@softandroll.it Product Manager www.softandroll.it

SQL Server 2005 Integration SQL Server 2005 Tools SQL Server Management Studio Creare/gestire Databases SQL Mobile Show Plan and Hints Ottimizzazione semplificata Enhanced Publication Subscription Wizard

DEMO #1 SQL Server 2005 Tools Execution Plan & Performance Test In this demo, you are going to see a short demonstration on how SQL Mobile databases are integrated in the SQL Server 2005. You see how to create a new SQL Mobile database in SQL Server Management Studio and add an empty table. Then, you see how to create a new Data Transformation Project that updates this empty table with an existing client base from a comma delimited flat file. Afterwards, you see how to access your data in SQL Server 2005. Finally, you see how view your statistics associated with the query and then you see how to add an index to reduce the load incurred on the mobile database. These features were previously unavailable showing how much time is saved now with SQL Server 2005.

Versioni SQL Server CE 2.0 SQL Server 2005 Mobile Edition (SQL CE 3.0) Supporta lo sviluppo .NET con CF 1.0 Installabile su Pocket PC 2000 o successivo Windows CE 4.1 o successivo No Smartphone SQL Server 2005 Mobile Edition (SQL CE 3.0) Sviluppo con .NET CF 2.0 Pocket PC 2003 Windows Mobile 5.0 Anche Smartphone 5.0 Integrato con VS 2005 e SQL Server 2005 SQL Server Mobile Database Upgrade tool (upgrade.exe) per migrare da 1.0-2.0 a 3.0

Features non supportate La sintassi è un subset di Transact-SQL niente TOP niente nested Select Transazioni nidificate (nested) Transazioni distribuite Save points Batch commands, un solo statement per comando Named parameterized queries, sì con v3.0

Overview Device Data Access Native Stack Managed Stack SQL Server Mobile Edition CLR / .NET CF SQL Server CE Data Provider ADO.NET VB .NET / C# VS 2005 C++ OLEDB CE OLEDB Provider QP / Cursor Engine / ES Storage Engine / Replication Tracking

SQL Server 2005 Mobile Edition Architettura Migliorata Storage engine Supporto per Connessioni Multiple Row level locking Shares common memory pool Auto-shrink SqlCeEngine.Shrink SqlCeEngine.Repair Query processor Ottimizzazione Cost-based Cursori Scrollable e Updatable - SqlCeResultSet

Sincronizzazione Obiettivi Condividere una fonte dati comune Accesso multi-utente alla stessa fonte dati Maggiore versatilità per l’utente Consente agli utenti di cambiare il device e continuare ad accedere alla stessa fonte dati Semplificare lo sviluppo e la logica La sincronizzazione diventa una sola linea di codice La risoluzione dei conflitti avviene sul server attraverso il SQL Server model

Sincronizzazione Modalità SQL Server Mobile Edition fornisce due modalità di sincronizzazione Remote data access (RDA) Merge replication Entrambe si appoggiano ad IIS e sqlcesa30.dll (o sscesa20.dll)

Sincronizzazione Architettura Application HTTP SQL Mobile Client Agent OLE DB SQL Server OLE DB Provider SQL Mobile Server Agent Internet Information Services (IIS) OLE DB SQL Mobile Engine SQL Server Database Database

Replication Configurazione di IIS SQL Server Agent File System Share Emulatore Loopback Adapter

DEMO #2 Creazione di una pubblicazione Configurazione Server-Side In this demo, you are going to see a short demonstration on how SQL Mobile databases are integrated in the SQL Server 2005. You see how to create a new SQL Mobile database in SQL Server Management Studio and add an empty table. Then, you see how to create a new Data Transformation Project that updates this empty table with an existing client base from a comma delimited flat file. Afterwards, you see how to access your data in SQL Server 2005. Finally, you see how view your statistics associated with the query and then you see how to add an index to reduce the load incurred on the mobile database. These features were previously unavailable showing how much time is saved now with SQL Server 2005.

Remote Data Access Overview Una “connessione” via HTTP/S tra SQL Server e SQL Server Mobile Edition Comunica con SQL Server senza essere “connesso” Salva il risultato di query eseguite su SQL Server direttamente in SQL Server CE Tenendo eventualmente traccia delle modifiche (in locale) Rimanda le modifiche locali a SQL Server Il .NET Compact Framework fornisce un wrapper managed SqlCeRemoteDataAccess

Remote Data Access SqlCeRemoteDataAccess Ogni applicazione che usa RDA deve specificare i parametri di connessione Connessione al database locale SQL Mobile Edition connection string Web server URL – deve includere sqlcesa30.dll (o sscesa20.dll) Login e password Proxy server Le informazioni sulla connessione remota vengono inviatate con ogni comando eseguito SQL Server connection string

Remote Data Access Pull Viene creata una tabella locale con schema e dati È possibile includere la primary key È possibile includere gli indici I dati possono arrivare da una tabella, una vista o da una stored procedure Si possono (DEVONO) filtrare i dati per ridurre la dimensione Viste e stored procedure possono referenziare una sola tabella con primary key

Remote Data Access Pull Tracking On Le modifiche locali possono essere rimandate al server Viene applicata una “optimistic concurrency” (nessun lock sui dati del server) La tabella locale non deve esistere Creata dal metodo Pull Se la tabella esiste viene generato un errore

Remote Data Access Pull Public Sub RDAPull() Dim rda As New SqlCeRemoteDataAccess Dim ServerOledbStr As String = “Provider=sqloledb; Data Source=dataserver;” & _ “Initial Catalog=Pubs;User Id=sa;Password=;” rda.LocalConnectionString = ”Data Source=\My Documents\test.sdf” ‘ Set URL and IIS login/password. rda.Pull( “Authors”, _ “Select * from authors where state = ‘CA’”, _ ServerOledbStr, _ RdaTrackOption.TrackingOn) End Sub

Remote Data Access Push Rimanda le modifiche al server Tutte le modifiche dall’ultimo pull o push sono inviate Le modifiche sono applicate al server indiscriminatamente Il table tracking doveva essere “on” durante il Pull Se una qualsiasi modifica fallisce Gli errori vengono scritti nella error table (se specificata durante il Pull) BatchingOn, viene fatto un roll back di tutto BatchingOff, viene fatto un roll back solo della modifica che ha generato l’errore

Remote Data Access Push Public Sub RDAPush() Dim rda As New SqlCeRemoteDataAccess() Dim ServerOledbStr As String = “Provider=sqloledb; Data Source=dataserver;” & _ “Initial Catalog=Pubs;User Id=sa;Password=;” rda.LocalConnectionString = _ ”Data Source=\My Documents\test.sdf” ‘ Set URL and IIS login/password. rda.Push( _ “Authors”, _ ServerOledbStr, _ RdaBatchOption.BatchingOn) End Sub

DEMO #3 Remote Data Access In this demo, you are going to see a short demonstration on how SQL Mobile databases are integrated in the SQL Server 2005. You see how to create a new SQL Mobile database in SQL Server Management Studio and add an empty table. Then, you see how to create a new Data Transformation Project that updates this empty table with an existing client base from a comma delimited flat file. Afterwards, you see how to access your data in SQL Server 2005. Finally, you see how view your statistics associated with the query and then you see how to add an index to reduce the load incurred on the mobile database. These features were previously unavailable showing how much time is saved now with SQL Server 2005.

Merge Replication Overview Sincronizza i dati tra SQL Server e SQL Server CE SQL Server è il publisher SQL Server CE è il subscriber SQL Server CE riceve uno snapshot iniziale da SQL Server SQL Server CE e SQL Server possono modificare i dati La risoluzione dei conflitti può essere personalizzata sul server con SQL 2005 anche con codice managed

Merge Replication Overview Le modifiche vengono sincronizzate Da SQL Server CE vengono inviate a SQL Server Da SQL Server vengono inviate a SQL Server CE SQL Server 2005 Management Studio Nuovi wizards Creazione del Publishers Creazione dei Subscribers Il .NET CF fornisce un wrapper managed SqlCeReplication

Merge Replication Vediamo il Codice Public Sub SyncSubscription() Dim repl as New SqlCeReplication() repl.InternetUrl = "http://Server1/SQLServerCE/sqlcesa30.dll" repl.Publisher = “SERVER1" repl.PublisherDatabase = “SampleServerDb" repl.PublisherLogin = "sa" repl.PublisherPassword = "" repl.Publication = “SamplePublication" repl.SubscriberConnectionString = _ ”Data Source=\My Documents\SampleLocalDB.sdf“ repl.HostName = “User1" repl.AddSubscription(AddOption.CreateDatabase) repl.Synchronize() End Sub

Merge Replication Vediamo i Costi Aggiunta di alcuni triggers e stored procedures Aggiunge overhead Le tabelle replicate devono avere un campo ROWGUIDCOL Permette di identificare in modo univoco un record Se non è già presente viene aggiunto Il database deve tracciare tutte le modifiche Alcune tabelle vengono aggiunte per tener traccia delle modifiche Il database può crescere molto

Merge Replication Minimizzare i costi per i Devices La chiave del successo per le applicazioni mobile è “minimizzare la comunicazione” Prendere solo quello che serve Applicare i filtri SqlCeReplication.HostName e HOST_NAME() Ridurre la quantità di dati scambiati tra device e server Riduce il tempo Migliora le prestazioni Riduce i costi (il cliente sarà grato)

DEMO #4 Merge Replication In this demo, you are going to see a short demonstration on how SQL Mobile databases are integrated in the SQL Server 2005. You see how to create a new SQL Mobile database in SQL Server Management Studio and add an empty table. Then, you see how to create a new Data Transformation Project that updates this empty table with an existing client base from a comma delimited flat file. Afterwards, you see how to access your data in SQL Server 2005. Finally, you see how view your statistics associated with the query and then you see how to add an index to reduce the load incurred on the mobile database. These features were previously unavailable showing how much time is saved now with SQL Server 2005.

SQL Server 2005 Mobile Edition Sincronizzazione Migliorata Miglior controllo Multiuser synchronization Progress notifications Sottoscrizioni multiple nello stesso database Migliori performance (con SQL 2005) Download-only tables Partitioned groups

SQL CE Tips & Tricks Abilitare il LOG di SQL CE Server Agent Nel registro sotto la chiave HKLM\Software\Microsoft\MSSQLSERVERCE\3.0\Transport (HKLM\Software\Microsoft\MSSQLSERVERCE\Transport x SQL CE 2.0) aggiungere una DWORD con il nome della virtual directory + LOGGING_LEVEL (es. C:\Inetpub\Sqlce\LOGGING_LEVEL) I valori possibili sono: 0 nessun log 1 solo errori 2 errori e warnings 3 errori, warnings e messaggi Viene creato un un file sqlcesa30.log (sscerepl.log x 2.0) nella virtual directory Con CE 3.0 è possibile vede statistiche e diagnostica via IE http://<sqlservername/sqlce>/sqlcesa30.dll?stats http://<sqlservename/sqlce>/sqlcesa30.dll?diag

Per altre informazioni su come fare la scelta Fare la scelta Quale? Remote Data Access Miglior scalabilità sul server Merge Replication Minor tempo di sviluppo Sincronizzazione bi-direzionale Per altre informazioni su come fare la scelta http://msdn.microsoft.com/library/en-us/dnppcgen/ html/eff_arch_sql_servr_ce_rep.asp

Deployment Automatico con Visual Studio Manuale distribuendo i CABs corretti SQL CE 2.0 sqlce.<platform>.<processor>.CAB sqlce.dev.<platform>.<processor>.CAB SQL CE 3.0 sqlce30.<platform>.<processor>.CAB sqlce30.repl.<platform>.<processor>.CAB sqlce30.dev.ENU.<platform>.<processor>.CAB

Links utili Microsoft Mobility SQL Server 2005 Mobile Edition http://msdn.microsoft.com/mobility/sqlmobile/ Microsoft Mobility http://msdn.microsoft.com/mobility/

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions