SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Advertisements

PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn.
PL/SQL - Kurze Einführung -.
Kurt Rosenberg. C# für.NET oder.NET für C# is(C# == C++ && Java)? true : false ; reines C# Ausblick Überblick.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Windows Vista Deployment
Windows Vista für Entwickler
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Microsoft Academic Program Datenzugriff mit Framework 2.0 Student Technology Conference 2005.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Objektorientierte Programmierung JDK-Klassenbibliothek
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
.NET – Quo Vadis? Dariusz Parys Developer Group Microsoft GmbH.
Visual Extend Features für Entwickler deutschsprachige FoxPro User Group Uwe Habermann VFX 05 D.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Microsoft Office Forms Server
Entwickeln einer Windows 8 Modern UI Businessapplikation auf der Basis von Dynamics CRM/xRM Christian Haller Marc Sallin isolutions AG isolutions.
Windows Essential Business Server 2008
Testing using Mock Obejcts
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Best Practices in der Datenbank-programmierung
3 Technologien im Wettstreit um Ihre nächste Webanwendung Rainer Worbis Markus Unterauer Entwickler, cubido business solutions gmbh.
SQL Server 2005 CLR-Integration
ORMapper: NHibernate Henning Eiben
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Roger Boesch Developer Technical Specialist Developer and Platform Group.
Thomas Claudius Huber Senior Consultant Trivadis AG Silverlight 5 die Neuerungen.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Cooperation unlimited © Zühlke August 2008 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Dirk Primbs Developer Evangelist Microsoft Deutschland GmbH.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Algorithmen und Datenstrukturen Übungsmodul 6
Client Server Architektur
F-Sharp (F#) Eine multiparadigmatische Sprache. Merkmale von F# Multiparadigmatisch.NET-Sprache Skalierbar und effizient Als Forschungsprojekt von Microsoft.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Cyber-Security und Datenschutz in der Cloud Wie passt das zusammen?
Jan-Cornelius Molnar Student Partner.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Office Business Anwendungen mit SharePoint 2010 Fabian Moritz SharePoint MVP.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
SQL Server 2005 TechTalk September 2005
Microsoft Cloud Day Herzlich willkommen!. Microsoft Cloud Day MSDN Veranstaltung Die Cloud Plattform als Erfolgsbaustein – Wie Sie als Softwarefirma von.
Web Services in.NET und die.NET My Services 14. November Web Services in.NET und die.NET My Services Mario Ehrlicher Senior Consultant Xuccess
Die nächste Generation von Microsoft Office System 2007 Microsoft Office System Gernot Kühn Technologieberater Office System Mittelstandsbetreuung.
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
Agile ALM for Plex/2E CM MatchPoint ALM. Themen Agenda CM MatchPoint ALM Übersicht CM MatchPoint 5.2 Web und Mobile Entwicklung Agile ALM / DevOps CM.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Eine persönliche Fallstudie …
Sprachneuerungen des .NET Frameworks 3.5
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
 Präsentation transkript:

SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH

1 SQL Server 2005 Plattform

2 Agenda Was steckt hinter der Integration? Prozeduren und Funktionen Ausführungskontext Eigene Datentypen Kurz um: Wie & Warum?

3 Bin nach Hex: T-SQL vs. C# is null return null nvarchar(4000) = = 1 = '0x' begin 1) & 0xF & 0xF0 > 0 / 0xF + ((case < 10 then = 10 then 'A' = 11 then 'B' = 12 then 'C' = 13 then 'D' = 14 then 'E' = 15 then 'F' else 'Z' end) + (case < 10 then = 10 then 'A' = 11 then 'B' = 12 then 'C' = 13 then 'D' = 14 then 'E' = 15 then 'F' else 'Z' end)) end T-SQL if (value == null) return null; StringBuilder sb = new StringBuilder(); foreach (byte b in value) sb.Append(b.ToString("X2")); return sb.ToString(); C#

4 Was bietet die Integration? Serverseitige Routinen in C#, VB.NET, … Stored Procedures, Functions, Triggers, Data Types & Aggregates Erweitertes Sicherheitsmodell Einheitliche Entwicklungsumgebung Performancevorteile

5.NET oder T-SQL? Verwenden Sie.NET Routinen … … wenn es mit T-SQL nicht möglich ist … für aufwendige Rechenoperationen … um Logik zu implementieren … wenn auf wenige Daten zugegriffen wird Verwenden Sie T-SQL … … bei daten-intensiven Abfragen

6 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

7 Notwendige Erweiterungen.NET Framework 2.0 Neue Hosting APIs für CLR Integration Neue/Anpassungen ADO.NET Klassen T-SQL Neue Befehle für Assembly-Management Syntax Erweiterungen für Unterstützung von eigenen Datentypen u.w.

8 Assembly Sicherheitsmodell SAFE Standard, kein Zugriff auf externe Ressourcen und unmanaged Code EXTERNAL_ACCESS Wie Safe aber Zugriff auf externe Ressourcen UNSAFE Zugriff auf externe Ressourcen und unmanged Code erlaubt

9 Agenda Was steckt hinter der Integration? Prozeduren und Funktionen Ausführungskontext Eigene Datentypen Kurz um: Wie & Warum?

10 Prozeduren und Funktionen 4 Typen User-Defined Procedures (UDPs) Scalar-valued User-Defined-Functions (UDFs) Table-valued User-Defined-Functions (TVFs) User-Defined Triggers.NET Funktionen unterliegen den gleichen Restriktionen wie T-SQL Funktionen Keine Manipulation der Daten, deterministisch

11 Implementierung Deklarative Implementierung Statische Methoden mit Attribut vorab Anmeldung per Wrapper notwendig CREATE FUNCTION … CREATE PROCEDURE … CREATE TRIGGER … Ganz normaler Code SqlClient für Datenzugriff

12 Prozeduren und Funktionen

13 Agenda Was steckt hinter der Integration? Prozeduren und Funktionen Ausführungskontext Eigene Datentypen Kurz um: Wie & Warum?

14 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

15 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

16 Der Unterschied Zugriff auf Ausführungkontext ermöglicht Aufspringen auf die vorhandene Connection Zugriff auf Client Ausgabestrom Information, ob Ausführung unter SQL Server 2005 erfolgt

17 Zugriffsklassen SqlContext – Einstiegsklasse; Zugriff auf SqlPipe und SqlTriggerContext. IsAvailable gibt Auskunft ob Ausführung unter dem Sql Server 2005 erfolgt SqlPipe – Zugang zum Client Ausgabestrom SqlTriggerContext – Zugriff auf Trigger-spezifische Kontextinformationen

18 Umgang mit SqlContext

19 Einschränkungen Context Connections MARS (Multiple Active Result Sets) nicht unterstützt Nur eine offene Context Connection möglich SqlBulkCopy nicht unterstützt Update batching nicht unterstützt SqlNotificationRequest nicht unterstützt Auch normale Connections unterliegen Einschränkungen (kein asynchronous commands, keine SqlDependency …)

20 Agenda Was steckt hinter der Integration? Prozeduren und Funktionen Ausführungskontext Eigene Datentypen Kurz um: Wie & Warum?

21 Wann UDTs? Implementierung eigener User-Defined Types (UDTs) in VB.NET, C# etc. möglich Gedacht für die Implementierung skalarer Datentypen, nicht Geschäfts- objekte Geschäftsobjekte per O/R Mapper, XML- Serialisierung etc. speichern

22 Implementierung Referenz-Typ Implementierung als Class Zeiger auf Speicherbereich, wo Daten liegen Wert-Typ Implementierung als Struct (C#) / Structure (VB.NET) Speicherung erfolgt als Bit-Sequenz Beide sind auf 8 kB limitiert Unterschiede liegen im internen Speichermanagement Weitere Informationen unter MSDN

23 Eigene Datentypen

24 Agenda Was steckt hinter der Integration? Prozeduren und Funktionen Ausführungskontext Eigene Datentypen Kurz um: Wie & Warum?

25 Wie & Warum? Wie? Entwicklung in C#, VB.NET,... Attribute & Templates Warum? Implementierung von Geschäftslogik Einfacher & mächtiger Schneller bei Rechenoperationen

26 Fragen und Antworten Vielen Dank! Sebastian Weber

27 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.