Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Susanne Ramseier Geändert vor über 10 Jahren
1
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH
2
Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung Zusammenfassung
3
Was bietet die Integration? Serverseitige Routinen in C#, VB.NET, … Serverseitige Routinen in C#, VB.NET, … Stored Procedures, Functions, Triggers, Data Types & Aggregates Stored Procedures, Functions, Triggers, Data Types & Aggregates Erweitertes Sicherheitsmodell Erweitertes Sicherheitsmodell Einheitliche Entwicklungsumgebung Einheitliche Entwicklungsumgebung Performancevorteile Performancevorteile
4
Implementierung ImplementierungServercode Statische Methoden mit [Attribut] Statische Methoden mit [Attribut] Stored Procedures, Functions & Triggers Stored Procedures, Functions & Triggers Aggregates Aggregates Implementierung als Struct mit Attribut [SqlUserDefinedAggregate] Implementierung als Struct mit Attribut [SqlUserDefinedAggregate] Types Types Implementierung als Klasse oder Struct mit Attribut Implementierung als Klasse oder Struct mit Attribut[SqlUserDefinedType]
5
So gehts! SQL Abfragen: SELECT GetOrderCount(region) FROM order VS.NET Projekt VB,C#,C++ Build SQL Server SQL Definitionen: create assembly … create function … create procedure … create trigger … create type … SQL Definitionen: create assembly … create function … create procedure … create trigger … create type … Assembly
6
Integration != Integration Hier: SQL 2000 Extended Stored Procedures Client SqlServr.exe Daten Ext. SP Select * 1. Connection Select * 2. Connection 2. Thread Abbildung aus A First Look at SQL Server 2005 for Developers, AW
7
SQL Server 2005 Beste Integration der Welt! SqlServr.exe Daten SqlCommand cmd =... cmd.ExecuteNonQuery() SqlCommand cmd =... cmd.ExecuteNonQuery() Managed Code Unmanaged Code PInvoke Abbildung aus A First Look at SQL Server 2005 for Developers, AW Client 1. Connection Zugriff auf Ausführungskontext: + Connections + Ausgabestrom zum Client + Trigger-Kontext + …
8
SQLCLR ist standardmäßig deaktiviert SQLCLR ist standardmäßig deaktiviert SQL Zugriffsrechte kontrollieren die Erstellung von Assemblies und Routinen, sowie die Ausführung SQL Zugriffsrechte kontrollieren die Erstellung von Assemblies und Routinen, sowie die Ausführung Code Access Security (CAS) kontrolliert, was ein Assembly machen darf Code Access Security (CAS) kontrolliert, was ein Assembly machen darf Security
9
Security Die 3 Permission Sets Die 3 Permission Sets Safe Safe Zugriff auf lokale Daten, eingeschränktes Programmiermodell (keine Static Member), nur managed Code Zugriff auf lokale Daten, eingeschränktes Programmiermodell (keine Static Member), nur managed Code External_access External_access Wie Safe, jedoch Zugriff auf Dateien, Registry, Netzwerk Wie Safe, jedoch Zugriff auf Dateien, Registry, Netzwerk Unsafe Unsafe Voller Zugriff, Unmanaged Code, keine Überprüfungen, keine Einschränkungen Voller Zugriff, Unmanaged Code, keine Überprüfungen, keine Einschränkungen Einstellung wird bei Erstellung festgelegt Einstellung wird bei Erstellung festgelegt create assembly MyAsm from c:\foo.dll with permission_set = safe
10
.NET oder T-SQL? Verwenden Sie.NET Routinen … Verwenden Sie.NET Routinen … … wenn es mit T-SQL nicht möglich ist … wenn es mit T-SQL nicht möglich ist … für aufwendige Rechenoperationen … für aufwendige Rechenoperationen … um Logik zu implementieren … um Logik zu implementieren … wenn auf wenige Daten zugegriffen wird … wenn auf wenige Daten zugegriffen wird Verwenden Sie T-SQL … Verwenden Sie T-SQL … … bei datenintensiven Abfragen … bei datenintensiven Abfragen Fallweise Unterscheidung notwendig!! Fallweise Unterscheidung notwendig!!
11
Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung Zusammenfassung
12
.NET Integration
13
Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung
14
Zusammenfassung Implementierung erfolgt in gewohnter Umgebung mit gewohnter.NET Klassenbibliothek Implementierung erfolgt in gewohnter Umgebung mit gewohnter.NET Klassenbibliothek Integration ermöglicht Zugriff auf den Ausführungskontext Integration ermöglicht Zugriff auf den Ausführungskontext Von der CLR-Integration gezielt Gebrauch machen, kein Ersatz für T-SQL Von der CLR-Integration gezielt Gebrauch machen, kein Ersatz für T-SQL Bspw. für die Implementierung von Business Logik und rechenintensiven Operationen Bspw. für die Implementierung von Business Logik und rechenintensiven Operationen
15
MSDN Online – Alles für den Entwickleralltag Stets auf dem Laufenden mit dem MSDN Newsletter, RSS-Feeds sowie personalisierten Infos & Services via MSDN Connection Stets auf dem Laufenden mit dem MSDN Newsletter, RSS-Feeds sowie personalisierten Infos & Services via MSDN Connection Technische Informationen über die MSDN Developer Center (z.B. Security), MSDN Webcasts und der MSDN Bibliothek Technische Informationen über die MSDN Developer Center (z.B. Security), MSDN Webcasts und der MSDN Bibliothek Informationen zu Produkten und begleitenden Services wie Training & Zertifizierung, technischem Support und Downloads Informationen zu Produkten und begleitenden Services wie Training & Zertifizierung, technischem Support und Downloads www.microsoft.com/germany/msdn www.ineta.org www.codezone.de Das Developer Knowledge Network – Von Entwicklern für Entwickler. Die Meta-Suchmaschine mit über 10.000 Ressourcen, RSS-Feeds und vielem mehr INETA User Groups – Treffen Sie Gleichgesinnte in einer der mehr als 40 bundesweit vertretenen INETA User Groups mit über 4.500 Mitgliedern Ressourcen für Ihren Erfolg Von Microsoft und den Communities
16
Vielen Dank! Sebastian Weber Sebastian.Weber@microsoft.comhttp://sebastianweber.org
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.