Stored procedure i ASP.NET

Relevanta dokument
Stored procedure i ASP.NET

ADO.NET Murach Kapitel 17-20

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

public DataSet GenerateDataSet(SqlCommand dbcommand, String tablename, out String errormsg) { errormsg = "";

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

JobOffice SQL databas på server

Language Integrated Query, LINQ, och databaser

Introduktion till Entity Framework och LINQ. Källa och läs mer

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

ÖVERVAKNING AV SQL SERVER

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Lab 6: ASP.NET 2.0 Providermodellen

Mål med lektionen! Repetera och befästa kunskaperna.

Uppdatera Easy Planning till SQL

AVCAD 4.0 för Windows

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Transaktioner. 1. Transaktioner 2. Samtidighet ( concurrency ) och lås. 3. Deadlock. Kap. 17. Informatik B: Databashantering med SQL Server

Databaser - Design och programmering. Säkerhetsproblem. SQL-injektion. Databashanteraren. Transaktion. Exempel. Transaktionshantering och säkerhet

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Databaser design och programmering. Transaktionshantering och säkerhet säkerhetsproblem fleranvändarproblem transaktioner låsning

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Databasutveckling Microsoft T-SQL - Fortsättning. Funktioner GROUP BY HAVING Skapa databaser Skapa tabeller Lite om transaktioshantering

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

INTRODUKTION TILL JDBC

1.Lär känna MS SQL Observera. Tips. Förberedelse

Uppdatera Easy Planning till SQL

Structured query language (SQL)

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

SQL Server bygger på ett antal Windows tjänster (services), vilket är prioriterade program som körs i bakgrunden under OS kontroll.

Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:

Databaser design och programmering Säkerhetsproblem Databashanteraren SQL-injektion

Webbsidor och databaser i ASP.NET

Innehåll Programability Del 2

VAD GÖR DU / VEM ÄR DU?

Labb 2: ASP.NET 4.5 Data Access

Systemkrav Tekis-Bilflytt 1.3

Systemkrav Bilflytt 1.3

Kunskapsbank ICARUS DB

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

KAP 16 BACKUP, RESTORE OCH RECOVERY

Din guide till. Teknisk Specifikation Säljstöd

Kunskapsbank ICARUS DB

Innehåll. MySQL Grundkurs

OPTIMERING OCH PROGRAMMERING AV TIMEREPORT

Alla rättigheter till materialet reserverade Easec

Laboration: SQL Server

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Systemkrav Bilflytt 1.4

DI Studio nyheter

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Vad är en databas? Databasutveckling Med MySQL/MariaDB

VAD GÖR DU / VEM ÄR DU?

Trafla databasen vi hämtar data från (remote export) ligger på en godtycklig maskin i nätverket. Den här databasen är en MIMER databas.

GIT L0009B GEOGRAFISK DATABASTEKNIK. Information inför kursstart

Nu är du inloggad på QlickView-servern och kan starta QlickView som finns som shortcut på skrivbordet, se figur1. Skapa nytt dokument med File->New.

ASP.NET Thomas Mejtoft

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet.

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Systemrekommendation. Artvise Contact Center

Lab 5: ASP.NET 4.5 Site Navigation

Labb 4: ASP.NET 2.0 Medlemskap, Inloggningskontroller, Rollhantering

Installationsmanual för OnCourse

Systemkrav. Artvise Kundtjänst

Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing

Klientprogrammering mot databaser

1 Systemkrav avantraupphandling

Föreläsning 6 Databaser och säkerhet

Installationsanvisning Boss delad databas

Övning: Arbeta med Azure Explorer

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

Uppgraderingsinstruktion för Tekis-FB Avisering version 6.3.0

UX 40 SAP Fiori UX inte bara for SAP applikationer. Christer Ingemarsson

Ny installation...2. Översikt...2. Filer som behövs...2. Installera SQL Server Express (om det behövs)...3. Skapa en databas i SQL Server...

1. Revisionsinformation

KAP 18 SQL SERVER AGENT

Uppgraderingsinstruktion för Tekis-FB Avisering version 6.3.1

Innehåll. Dokumentet gäller från och med version

Boss installationsmanual förberedelser

8 Bilaga: Installationer

Funktionsbeskrivning

Programinstallation Datorbaserat handsmörjningssystem

Övning 1: Skapa virtuell maskin för utveckling.

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Kapitel 4 Arkivmenyn Innehåll

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

AVCAD 4.0 for MS SQL-SERVER

Föreläsning 7: Transaktioner

Din guide till. Byte av databas. Från MSDE till SQL Express

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Installationsmanual ImageBank 2

Diagnostisktprov Utveckla i Azure

9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan,

LEX INSTRUKTION REPLIKERING UPPGRADERING

Teknisk spec Flex Lön och Flex API

Innehåll Security. Chapter 4 och 7 Beginning SQL Server 2008 for Developers

Lektion 2, Grundläggande funktioner i ASP.NET

Transkript:

Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored procedures, mm.

ADO.NET Data Providers Ett antal klasser som tillåter dig att koppla upp dig mot en databas, exekvera SQL-kommandon och erhålla data. Connection o Etablerar en kontakt till en datakälla. Command o Exekverar SQL-kommandon och stored procedures. DataReader o Snabb read-only & forward only läsning. DataAdapter o Kan fylla ett dataset med data och ändra data i databasen.

Providers för olika typer av databaser SQL Server provider o Optimerad för SQL Server version 7 eller senare OLE DB provider o Tidigare versioner av SQL Server eller datakällor som har en OLE DB provider - lite sämre prestanda Oracle provider o Optimerad för Oracle 8i eller senare ODBC provider o Alla datakällor som har ODBC - sämre prestanda.

ADO.NET Namespace System.Data o behållare för data som datasets, tables, rows, columns... System.Data.Common o Mestadels abstrakta klasser som som andra namespace ärver ifrån, tex DbConnection, DbCommand, etc. System.Data.Client o Klasser för uppkoppling to a Microsoft SQL Server, tex SqlCommand, SqlConnection, SqlDataReader & SqlDataAdapter. System.Data.SqlTypes o Datatyper i SQL Server (kan användas istället för.nets)

Exempel på två connectionstrings Utdrag ur web.config: <configuration> <connectionstrings> <!-- user instance databas (finns ej i SQL Server utan bara i express) --> <add name="hemma" connectionstring="data source=.\sqlexpress;integrated Security=SSPI;AttachDBFilename= DataDirectory \aspnetdb.mdf;user Instance=true" providername="system.data.sqlclient" /> <!-- Anslutning mot en SQL Server databas (den ni använder på högskolans server) --> <add name="cletus_jeha" connectionstring="data Source=ideweb.hh.se;User ID=jeha;Password=dittpasswd" providername="system.data.sqlclient" /> </connectionstrings> </configuration> I Visual Studio kan du också lägga din mdf-fil i App_Data. Du kan dubbelklicka på databasfilen för att modda...

Exportera databasen till SQL-kod I server explorer kan du exportera din databas genom att generera SQL-kod, högerklicka på din databas och välj "Publish to provider...". Du kan då spara din databas som en sql-fil med data och allt. Vill du sedan skapa en kopia på ideweb.hh.se kan du bara öppna den i SQL Server Management Studio och exekvera den. Tips: Vill du föra över filer ifrån en tabell till en annan fungerar SQL-koden: INSERT INTO temp (kid,fnamn,enamn) SELECT kid,fnamn,enamn FROM student;

Command CommandType.Text o Skrivna SQL-frågor exekveras CommandType.StoredProcedure o Stored procedure exekveras CommandType.TableDirect (undvik) o Returnerar alla rader i en tabell. Men sämre prestanda pga bakåtkompabilitet. // För vanlig SQL-fråga: SqlCommand cmd = new SqlCommand(); cmd.connection = con; cmd.commandtype = CommandType.Text; cmd.commandtype.text = "SELECT * FROM student"; // Alternativt kan ovan skrivas såhär eftersom CommandType.Text är default: SqlCommand cmd = new SqlCommand("SELECT * FROM student",con); // För stored procedure kan det se ut såhär: SqlCommand cmd = new SqlCommand("sp_GrabbaStudenter",con); cmd.commandtype = CommandType.StoredProcedure;

Metoder för command ExecuteNonQuery() o exekverar alla frågor utom SELECT som t ex insert, detete och update. De returnerar bara det antal rader som påverkats. ExecuteScalar() o exekverar en en fråga som endast returnerar första rad/kolumn-rutan, t ex aggregatfunktioner som COUNT() eller SUM() ExecuteReader() o exekverar SELECT-frågor som returnerar en postsamling (read-only, forward only)

Fördelar med stored procedure Enklare att underhålla o du behöver ej göra om något i applikationerna o standardiserar logik för dataaccess på ett ställe, i databasen, vilka kan återanvändas för samtliga applikationer Ger en säkrare databasanvändning o begränsa åtkomst av underliggande tabeller och låt alla köra stored procedures istället Kan förbättra prestanda o om flera kommandon körs i en sp blir prestandan bättre, speciellt om databasservern är på en annan server. o är kompilerade och därför snabbare

Transaktioner En transaktion är en samling frågor som exekveras som en helhet eller inte alls. Följer dessa steg: 1. Skapa connection 2. Öppna connection 3. Skapa instans av transaktion 4. Starta transaktion 5. Exekvera SQL-uttryck 6. Fullfölj (commit) eller rulla tillbaka (rollback) 7. Stäng connection Du kan skapa transaktioner både i.net och i stored procedures.

Vilka egenskaper har en transaktion? Atomic Alla steg i transactionen lyckas eller misslyckas som helhet Consistent Underliggande databas tas ifrån ett konsistent läge till ett annant. Inga halvgjorda uppdateringar sker Isolated Varje transaktion är oberoende av andra transaktioner som körs mot samma data vid samma tillfälle. Durable Garanterar att de ändringar som gjorts skrivs till disk. (Klarar även att skriva detta pga loggfiler hela tiden lagras om det efter commit skulle bli strömavbrott eller så )

Vilka egenskaper har en transaktion? Här ser ni ett exempel på en databas I SQL-server: Säg att vi vill lista alla anställda för ett företag: (se exempel 5) Säg att vi vill flytta en anställd från ett företag till ett annat företag (se exempel 6 a och b) Var ligger skillnaden i dessa två frågor?