Präsentation herunterladen
1
SQL Server 2005 CLR-Integration
Jörg Neumann RESCO GmbH Hamburg
2
Jörg Neumann IT-Consultant bei der RESCO GmbH in Hamburg.
Hält Schulungen und Coachings zum SQL Server 2005 Schreibt für verschiedene Fachzeitschriften Schreibt an einem Buch über den SQL Server 2005 Hält Vorträge auf Entwicklerkonferenzen Schwerpunkte: SQL Server Smart Clients Visual Studio Extensibility Links zu weiterführenden Artikeln und Büchern finden Sie am Ende der Slides. Kontakt:
3
Agenda Warum CLR-Integration? Details zur Integration
CLR-Datenbankobjekte erstellen Serverseitiger Zugriff mit ADO.NET
4
Agenda Warum CLR-Integration? Details zur Integration
CLR-Datenbankobjekte erstellen Serverseitiger Zugriff mit ADO.NET
5
Warum CLR-Integration?
T-SQL Für mengenorientierten Zugriff ausgelegt Eingeschränkte Funktionalität Eingeschränkte Erweiterbarkeit Eingeschränktes Programmiermodell Maximale Performance
6
Warum CLR-Integration?
Extended Stored Procedures C++, Speichermanagement, Sicherheit Schwer zu debuggen Loop-Back-Connection zur DB
7
Warum CLR-Integration?
SQLCLR Sprach- und Funktionsvielfalt von .NET Speichermanagement Sicherheit Inprocess-Datenzugriff Mit T-SQL kombinierbar
8
Programmierbare Objekte
T-SQL CLR XP COM Prozeduren Funktionen Trigger Datentypen Aggregate
9
T-SQL vs. SQLCLR T-SQL SQLCLR Bei mengenorientierten Operationen
High-Performance-Zugriffe SQLCLR Bei zeilenorientierten Operationen Komplexen Berechnungen Regular Expressions Verschlüsselung Stringmanipulation Externe Zugriffe
10
Wofür SQLCLR nicht ist Ersatz für T-SQL
Serverseitige Datenzugriffsschicht O/R-Mapping mit UDTs Word/Excel/PDF-Generierung Image Processing
11
Agenda Warum CLR-Integration? Details zur Integration
CLR-Datenbankobjekte erstellen Serverseitiger Zugriff mit ADO.NET
12
SQL Server vs. CLR Speichermanagement Thread-Management Typsystem
Sicherheit Verfügbarkeit CLR-Integration muss explizit aktiviert werden
13
CLR-Erweiterungen in .NET 2.0
Runtime Hosting API Assembly Loading AppDomain Management Thread-Management/Synchronisation Deadlock-Erkennung Security Management Speicherverwaltung
14
CLR-Integration
15
Sicherheitsprüfungen
Prüfung bei der Installation Prüfung vor der Ausführung Unterstützte Framework-Assemblies: mscorlib.dll system.data.dll system.dll system.xml.dll system.security.dll system.web.services.dll
16
Agenda Warum CLR-Integration? Details zur Integration
CLR-Datenbankobjekte erstellen Serverseitiger Zugriff mit ADO.NET
17
CLR-Datenbankobjekte erstellen
CLR-Methoden werden mit Attributen gekennzeichnet SqlProcedure SqlFunction SqlUserDefinedAggregate SqlUserDefinedType SqlTrigger Enthalten zum Teil auch Laufzeitinformationen Für jede CLR-Methode wird ein Datenbankobjekt erstellt
18
Funktionen und Assemblies
19
CLR-Prozedur erstellen
Demo CLR-Prozedur erstellen
20
Agenda Warum CLR-Integration? Details zur Integration
CLR-Datenbankobjekte erstellen Serverseitiger Zugriff mit ADO.NET
21
Serverseitiges ADO.NET
Namespace Microsoft.SqlServer.Server Programmiermodell wie auf dem Client SqlConnection SqlDataAdapter SqlCommand Zusätzliche Serverklassen SqlContext SqlPipe TriggerContext DataRecord Zugriff auf die aktive Session Zugriff auf den Ausgabestrom Zugriff auf Trigger-Daten Definition einer Datenzeile
22
Datenbankverbindung herstellen
SqlConnection SqlConnection connection = new SqlConnection("Context Connection = true"); GDI+ wurde für das sprachunabhängige Text-Rendering entwickelt GDI+ nutzt so gut wie keine Hardware-Beschleuniger Double-Buffering-Demo
23
SqlPipe Daten an den Aufrufer senden Send(), ExecuteAndSend()
SendResultsStart(), …Row(), …End()
24
Demo Datenzugriff
25
Fragen?
26
Ressourcen Bücher Artikel Links
A First Look at SQL Server 2005 for Developers Bob Beauchemin u.a., Addison-Wesley, ISBN: Artikel Using CLR Integration in SQL Server Links SQL Server 2005 Developer Center Virtual Lab: SQL Server 2005 SQL CLR Integration
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.