1 / 12

DB-adgang - Connectionless

DB-adgang - Connectionless. Connectionless DataAdapter DataSet. Connection vs. Connectionless. Connection: Open Connection Udfør db-operationer Luk Connection Der arbejdes på aktuelle data Andre applikationer lukkes evt. ude. Connection vs. Connectionless. Connectionless:

anakin
Download Presentation

DB-adgang - Connectionless

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DB-adgang - Connectionless Connectionless DataAdapter DataSet FEN Databaser/DBAdgang2

  2. Connection vs. Connectionless • Connection: • Open Connection • Udfør db-operationer • Luk Connection • Der arbejdes på aktuelle data • Andre applikationer lukkes evt. ude FEN Databaser/DBAdgang2

  3. Connection vs. Connectionless • Connectionless: • Tag en kopi af et databaseudsnit • Udfør db-operationer på kopien • Andre applikationer kan ændre data • Der arbejdes evt. på en uaktuel kopi af data • Data ændres i den lokale kopi: • ved update checkes om andre har ændret dataene i kopien • i så fald afvises opdateringen (ConcurrencyException) FEN Databaser/DBAdgang2

  4. Overblik - disconnected databaseadgang • Opret en Connection (Kan i VS.NET gøres gennem DataAdapteren) • Opret en DataAdapter • Tilføj SQL-statement(s) til DataAdapteren • Fyld et DataSet-objekt (kopi af dele af db) vha. en DataAdapter • DataSet-objekt indeholder DataTable-objekter • DataTable-objekter indeholder collections af rækker og kolonner FEN Databaser/DBAdgang2

  5. Disconnected - skridt for skridt • Opret en Connection • Opret en DataAdapter (indlejrer SQL) • Fyld et DataSet med indholdet af DataAdapter • Opdater evt. DB med DataAdapters Update() FEN Databaser/DBAdgang2

  6. Opret forbindelse #region Connection object code // Create and open a connection. SqlConnection cn = new SqlConnection(); cn.ConnectionString = @"Server=PCM06073\SQLEXPRESS;” +”Initial Catalog=miniBank;Integrated Security=True;"; cn.Open(); ShowConnectionStatus(cn); #endregion FEN Databaser/DBAdgang2

  7. Fyld DataSet // Create a SQL-string. string strSQL = "SELECT * FROM Account"; // Create a data adapter, a data set and a data table SqlDataAdapter myDA = new SqlDataAdapter(strSQL, cn); DataSet ds = new DataSet(); myDA.Fill(ds, "Account"); cn.Close(); ShowConnectionStatus(cn); FEN Databaser/DBAdgang2

  8. Udskriv data- DataSet indeholder collection af DataTable-objekter DataTable dtAccounts = ds.Tables["Account"]; //Print table headings Console.WriteLine(dtAccounts.Columns[0].Caption + "\t" + dtAccounts.Columns[1].Caption + "\t" + dtAccounts.Columns[2].Caption + "\t" + dtAccounts.Columns[3].Caption); Console.WriteLine(); // Loop over the results. for(int i= 0; i<dtAccounts.Rows.Count; i++) { DataRow r = dtAccounts.Rows[i]; Console.WriteLine(r["accNo"]+"\t"+r["balance"]+"\t" + r["ir"]+"\t"+r["clCpr"]); } FEN Databaser/DBAdgang2

  9. Hvis DB skal opdateres • Tilføj et commandobjekt til dataadapteren • InsertCommand • UpdateCommand • DeleteCommand • Gøres vha. parametriserede queries, fx: 1. parameter: sql da.InsertCommand = new OleDbCommand("INSERT INTO ” + Ansat (løn, navn, stilling) VALUES (?, ?, ?)",dbconn); da.Update(ds, ”Ansat”); Her opdateres DB. Kan fejle (ConcurrencyException) 2. parameter: connection FEN Databaser/DBAdgang2

  10. Traditionel WEB-adgang til DB • Præsentationslag: • WEB-serveren genererer HTML, som præsenteres i browseren hos klinten • Applikationslag (forretningslogik) er indlejeret i web-serveren i form af scripts, som bla. kalder databaselaget • Databaselag (centraliseret DBMS) • Interne applikationer på applikationsserveren: • forretningslogik er dubleret (WEB-server og appl.-server) Præsentationslag (browser) WEB-klienter WEB-server Applikationslag firewall Dedikeret klient Applikations-server Databaselag – (fx SQL-baserede DBMS på en databaseserver) FEN Databaser/DBAdgang2

  11. Præsentationslag Dedikeret klient Dedikeret klient WEB-klienter Dedike-ret klient WEB-server Applikations-server firewall Databaselag – (fx SQL-baserede DBMS’er på flere databaseservere) I dag: n-tier Client/Server arkitektur: • Præsentationslag: • dedikerede klienter, inden for eller uden for firewallen • web-browser via en web-server. Bemærk, at web-serveren er klient i forhold til applikations-serveren • Dedikerede klienter, som til via web-services på web-serveren (web-serveren fungerer som proxy) • Applikationslag (forretningslogik)Bør ikke ligge på web-serveren • Databaselag (centraliseret DBMS) • Der kan være flere database-servere i databaselaget, i så fald får applikationslaget rollen som koordinator ved globale transaktioner Tilgår web-services FEN Databaser/DBAdgang2

  12. Særlige forhold ved WEB-adgang Skal vi vælge Connection-orienteret eller Connection-løs forbindelse? Præsentationslag Dedikeret klient Dedikeret klient WEB-klienter Dedike-ret klient WEB-server Applikations-server firewall Databaselag – (fx SQL-baserede DBMS’er på flere databaseservere) FEN Databaser/DBAdgang2

More Related