Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1.NET web szolgáltatások ADO.NET Bilicki Vilmos

Hasonló előadás


Az előadások a következő témára: "1.NET web szolgáltatások ADO.NET Bilicki Vilmos"— Előadás másolata:

1 1.NET web szolgáltatások ADO.NET Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv

2 2 A mai előadás tartalma: ADO.NET Adatközpontú alkalmazás Csatlakozás adatforrásokhoz Online műveletek Offline műveletek

3 3 Adat központú alkalmazás Adat tár Mi az online környezet? Mi az offline környezet? Adat hozzáférési modellek

4 4 Demó MSSQL bemutatása

5 5 Adat tár Az ADO.NET támogatja: Struktúrálatlan Struktúrált nem hierarchikus Vesszővel elválasztott (CSV) fájlok, Microsoft Excel, Microsoft Exchange fájlok, Active Directory fájlok,… Hierarchikus XML dokumentumok Relációs adatbázisok SQL Szerver, Oracle, Access, és mások

6 6 Online környezet Online környezet az amelyben a felhasználók álladnó kapcsolattal rendelkeznek az adatbázishoz Előnyök: Könyebb biztonságossá tenni A párhuzamosságot könyebb kezelni Az adat frissebb Hátrányok: Állandó hálózati kapcsolat Skálázhatóság

7 7 Offline környezet Az offline környezetben az adatbázis egy része lemásolható, módosítható és visszaírható az adatbázisba Előnyök Bármikor dolgozhatunk, csak akkor kell csatlakoznunk amikor szükség van rá Más felhasználók is használhatják a kapcsolatot A skálázhatóság és a teljesítmény növekszik Hátrányok Az adat nem mindég naprakész A változtatási ütközéseket fel kell oldani

8 8 Adat hozzáférési modellek Az adat hozzáférés fejlődése 1-Rétegű (monolithic) Kliens logika Üzleti logika Adat tár 3-Rétegű “Vékony” kliens N-Rétegű 2-Rétegű “Vastag” Kliens Internet XML Web szolgált.

9 9 ADO.NET architektúra Mi az ADO.NET? Mely névtereket használja? Az ADO fejlődése Az ADO.NET objektum modell Az ADO.NET osztályok használata online esetben Az ADO.NET osztályok használata offline esetben

10 10 Az ADO.NET osztályok halmaza melyek az adatkezelést segítik Szolgáltatásai: Az ADO flexibilis utóda Offline környezet Programozási modell fejlett XML támogatással Osztályok, interfészek, enum-ok halmaza.NET keretrendszer Mi az ADO.NET

11 11 Kapcsolódó névterek Néveterek: System.Data System.Data.Common System.Data.SqlClient System.Data.OleDb System.Data.SqlTypes System.Xml

12 12 Az ADO-tó az ADO.NET-ig Connection ADO ADO.NET Command Recordset XxxConnection XxxCommand DataSet XxxTransaction XxxDataReader XxxDataAdapter

13 13 DataSet SQL Server.NET Data Provider SQL Server.NET Data Provider OLE DB.NET Data Provider OLE DB.NET Data Provider SQL Server 7.0 (and later) OLEDB sources (SQL Server 6.5) Az ADO.NET Objektum Modell

14 14 SQL Server 7.0 (and later) ADO.NET online eset Az erőforrások a kapcsolat bontásásig foglalva vannak 1.Kapcsolat nyitása 2.Parancs futtatása 3.Sorok feldolgozása 4.Olvasó bezárása 5.Kapcsolat bezárása SqlConnection SqlCommand SqlDataReader

15 15 Az ADO.NET használata offline kapcsolat esetén Az erőforrások az adat feldolgozása alatt nincsennek lefoglalava 1.Kapcsolat nyitás 2.DataSet feltöltés 3.Kapcsolat bontás 4.DataSet feldolgozás 5.Kapcsolat nyitás 6.Adatforrás frissítése 7.Kapcsolat bontás SqlConnection SqlDataAdapter DataSet SQL Server 7.0 (and later)

16 16 ADO.NET és az XML Az ADO.NET szorosan integrálja az XML kezelést XML használata offline ADO.NET alkalmazásban XML Web Szolgáltatások DataSet Adat kérés11 SQL lek.22 Eredméynek33 XML 44 Friss. XML 55 SQL frissítés66 Adat ForrásClient DataSet

17 17.NET Adat kapcsolat meghajtók Definíció A.NET kapcsolat meghajtó osztályok halmaza mely segít az adott erőforrás elérésben.NET meghajtó típusok SQL Server.NET OLE DB.NET ODBC.NET Egyéb

18 18.NET meghajtó osztályok XxxConnection XxxTransaction XxxException XxxError XxxCommand XxxParameter XxxDataReader XxxDataAdapter XxxPermission

19 19 Melyiket használjuk SQL Server.NET Data Provider SQL Server 7.0 vagy régebbi OLE DB.NET Data Provider SQL Server 6.5, Microsoft Access, Oracle, más források OLE DB meghajtóval ODBC.NET Data Provider Régi források melyek csak ODBC meghajtóval rendelkeznek

20 20 Adatbázis biztonság Az SQL Server biztonsági megoldása Windows Hitelesítés Biztonságos ellenőrzés és titkosítás Auditálás Jelszó szabályok (hossz, lejárati idő, …) Fiók zárolás Vegyes mód (Windows Azonosítás és SQL Server azonosítás) A régi rendszerekkel való kompatibilitás érdekében

21 21 Kapcsolat karakterlánc Megadja a kapcsolatban használt paraméterek értékeit Paraméterek Szállító (csak OLE DB) Adat forrás Kezdő Katalógus Integrált Biztonság Felhasználó ID/Jelszó Biztonsági információ mentése

22 22 Kapcsolat karakterlánc beállítása Csak akkor állítható be a ConnectionString tulajdonság amikor a kapcsolat zárva van Törléséhez a kapcsolatot zárni és nyitni kell Microsoft Access kapcsolat System.Data.OleDb.OleDbConnection cnNorthwind = new System.Data.OleDb.OleDbConnection(); cnNorthwind.ConnectionString = "Provider=SQLOLEDB;" + "Data Source=ProdServ01;" + "Initial Catalog=Pubs;" + "Integrated Security=SSPI;";

23 23 Demó Kapcsolat létrehozása varázslóval

24 24 Kapcsolat nyitása és zárása Explicit nyitás, zárás Open és Close metódusok Implicit nyitás, zárás Data adapter-ek tudják ezt megtenni Dispose metódus Kiveszi a kapcsolatot a gyűjteményből

25 25 Kapcsolat események kezelése Kapcsolat események StateChange és InfoMessage StateChangeEventArgs osztály Adatokat biztosít a meghatótól CurrentState, OriginalState csak olvashatóak Private cnNorthwind_StateChange( Object sender, System.Data.StateChangeEventArgs event) Kivétel Kezelés Try-catch InfoMessage esemény Nem kritikus hibák T-SQL Print kimenet

26 26 Demó Kapcsolat események bemutatása Eseménykezelő Profiler

27 27 Kapcsolat gyűjtemény Azokat tudja újraosztani amelyeknek egyforma a kapcsolat karakterlánca Kapcsolat karakterlánc paraméterek Kapcsolat élettartam Kapcsolat Nullázás Max Pool Size Min Pool Size Gyűjteményezés

28 28 Online objektum modell Adat forrás XxxConnection XxxParameter XxxDataReader XxxCommand XxxParameter XmlReader Az online alkalmazás osztályai

29 29 Parancs objektum A parancs objektum hivatkozás egy SQL parancsra vagy tárolt eljárásra Tulajdonságok (Name), Connection, CommandType, CommandText, Parameters Metódusok ExecuteScalar, ExecuteReader, ExecuteNonQuery ExecuteXmlReader (SqlCommand only) Paraméterek (input, output, vegyes)

30 30 Paraméterek Programból SqlParameter prmName = new SqlParameter("@CatName", SqlDbType.NChar, 15) prmName.Direction = ParameterDirection.Output cmdCountProds.Parameters.Add(prmName) cmProducts.Parameters("@RETURN_VALUE").Value

31 31 DataReader tulajdonságok ExecuteReader Csak olvasható, előre haladó A kapcsolat objektum foglalt amíg ezt használjuk Read metódus Betölti a következő sort Igaz értékkel tér vissza ha a következő sor létezik Hamissal, ha nem Item tulajdonság GetXxx metódusok (GetString, GetInt32, …) GetValues metódusok IsDbNull metódus Close metódus

32 32 Demó Online elérés

33 33 Tranzakció kezelés Két típusa van Helyi tranzakció Elosztott tranzakció Használata: SQL: BEGIN TRANS DECLARE @orderDetailsError int, @productError int DELETE FROM "Order Details" WHERE ProductID=42 SELECT @orderDetailsError = @@ERROR DELETE FROM Products WHERE ProductID=42 SELECT @productError = @@ERROR IF @orderDetailsError = 0 AND @productError = 0 COMMIT TRANS ELSE ROLLBACK TRANS ADO.NET XxxTransaction, Commit, Rollback Elkülönítési szintek: cnNorthwind.BeginTransaction(IsolationLevel.Serializable)

34 34 Offline architektúra EmployeesOrdersCustomersProductsCategories Products SqlDataAdapterOleDbDataAdapter SQL Server 2000 CustomersOrders SQL Server 6.5 DataSet XML Web service XmlDataDocument XML File

35 35 DataSet, DataTable, DataColumn Server Data Store Database Connection Stored Procedure DataSet DataTable

36 36 A DataSet Objektum Modell Gyűjtemények Tables (DataTable objektum gyűjtemény) Relations (DataRelation objektum gyűjtemény) Az adat hozzárendelhető Web és Windows elemekhez A séma programból vagy XSD segítségével definiálható DataRow DataColumn DataTable DataRelation Constraints

37 37 DataSet, DataTable, DataColumn létrehozása Programból: c =new DataSet(”xxx”); dataTable = c.Tables.Add(”yyy”); dataTable.Columns.Add(”Id”, typeof(Int32)); GUI eszközökkel DataAdapter-ből XML-ből

38 38 Számított cellák DataColumn Expression tulajdonság Sum([Unit Price] * [Quantity]) Az aggregáló függvények használhatják a gyermek szülő viszonyt Avg, Count, Sum, Max, Min Avg(Child.UnitPrice)

39 39 DataSet mentése, betöltése Két DataSet metódus ReadXml WriteXml ReadXml hibát dob ha a fájl nem létezik WriteXml felülírja a fájlt ha már létezik dsXY.WriteXml(@”\könyvtár\fájl.xml”)

40 40 Idegen kulcs kényszerek A IdegenKulcsKényszer az integritás megőrzését biztosítja EnforceConstraints tulajdonság A műveletek korlátozása DeleteRule és UpdateRule tulajdonságok ActionAction DescriptionDescription Cascade Törli vagy frissít a kapcsolódó sort SetNull DBNull értékre állítja a kapcsolódó sorokat SetDefault DefaultValue értékre állítja a sorokban a megfelelő cellákat None Kivételt dob

41 41 Példa dtCustomers = dsNorthwind.Tables["Customers"]; dtOrders = dsNorthwind.Tables["Orders"]; ForeignKeyConstraint fkcCustomersOrders = new ForeignKeyConstraint("FK_CustomersOrders", dtCustomers.Columns["CustomerID"], dtOrders.Columns["CustomerID"]); fkcCustomersOrders.DeleteRule = Rule.None; dtOrders.Constraints.Add(fkcCustomersOrders);

42 42 DataRelation objektum A DataRelation objektum egy navigációs viszonyt definiál, NEM egy kényszer viszonyt! Prezentációra használatos Aggregáló kifejezések használják A DataSet objektumnak van egy Relations gyűjteménye GetChildRows

43 43 Adat módosítás Sor hozzáadása: dtEmployees.Rows.Add(drNewEmployee) DataRow osztály BeginEdit, CancelEdit, EndEdit DataRow drEmployee = dtEmployees.Rows(3) drEmployee.BeginEdit() drEmployee("FirstName") = "John" drEmployee("LastName") = "Smith" drEmployee.EndEdit() Törlés dtEmployees.Rows.Remove(drEmployee) vagy drEmployee.Delete RowState Added, Deleted, Detached, Modified, Unchanged

44 44 Demó DataSet létrehozás, módosítás

45 45 DataView objektum Server Data Store Database Connection Stored procedure DataSet DataTable Windows and Web controls DataView

46 46 Példa DataView dvProducts = new DataView(dsNorthwind.Tables("Products")) dvProducts.Sort = "UnitPrice" dvProducts.RowFilter = "CategoryID > 4" grdProducts.DataSource = dvProducts

47 47 DataAdapter Data source DataAdapter DataTable DataSet DataAdapter Fill Update Fill Update

48 48 Az XxxDataAdapter Objektum Modell sp_SELECT XxxCommand SelectCommandUpdateCommandInsertCommandDeleteCommand XxxDataAdapter XxxCommand XxxConnection sp_UPDATEsp_INSERTsp_DELETE XxxDataReader

49 49 Demó Offline használat


Letölteni ppt "1.NET web szolgáltatások ADO.NET Bilicki Vilmos"

Hasonló előadás


Google Hirdetések