SQL Server 2005 CLR-Integration - PowerPoint PPT Presentation

lilia
sql server 2005 clr integration n.
Skip this Video
Loading SlideShow in 5 Seconds..
SQL Server 2005 CLR-Integration PowerPoint Presentation
Download Presentation
SQL Server 2005 CLR-Integration

play fullscreen
1 / 26
Download Presentation
Presentation Description
90 Views
Download Presentation

SQL Server 2005 CLR-Integration

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. SQL Server 2005CLR-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: Joerg.Neumann@RESCO.de

  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

  9. T-SQL vs. SQLCLR • T-SQL • 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. Demo CLR-Prozedur erstellen

  20. Agenda • Warum CLR-Integration? • Details zur Integration • CLR-Datenbankobjekte erstellen • Serverseitiger Zugriff mit ADO.NET

  21. Zugriff auf die aktive Session Zugriff auf den Ausgabestrom Zugriff auf Trigger-Daten Definition einer Datenzeile Serverseitiges ADO.NET • Namespace Microsoft.SqlServer.Server • Programmiermodell wie auf dem Client • SqlConnection • SqlDataAdapter • SqlCommand • Zusätzliche Serverklassen • SqlContext • SqlPipe • TriggerContext • DataRecord

  22. Datenbankverbindung herstellen SqlConnection SqlConnection connection = new SqlConnection("Context Connection = true");

  23. SqlPipe • Daten an den Aufrufer senden • Send(), ExecuteAndSend() • SendResultsStart(), …Row(), …End()

  24. Demo Datenzugriff

  25. Fragen?

  26. Ressourcen Bücher • A First Look at SQL Server 2005 for Developers Bob Beauchemin u.a., Addison-Wesley, ISBN: 0321180593 Artikel • Using CLR Integration in SQL Server 2005http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sqlclrguidance.asp Links • SQL Server 2005 Developer Centerhttp://www.msdn.microsoft.com/SQL/2005/ • Virtual Lab: SQL Server 2005 SQL CLR Integrationhttp://msdn.microsoft.com/virtuallabs/sql/default.aspx/