0
SQL CLR Integration
PASS Treffen der
Regionalgruppe Sachsen
27.09.2010
Dorrit Riemenschneider
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communar...
Upcoming SlideShare
Loading in...5
×

SQL CLR Integration

1,122

Published on

PASS Treffen der Regionalgruppe Sachsen - Thema: CLR-Integration in SQL Server 2005 oder 2008

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,122
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SQL CLR Integration"

  1. 1. SQL CLR Integration PASS Treffen der Regionalgruppe Sachsen 27.09.2010 Dorrit Riemenschneider
  2. 2. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de > Grundlagen > Sicherheitsbetrachtungen > Schnellanleitung > Beispiele, Beispiele, … • Zeichenfolgenverschlüsselung • Reguläre Ausdrücke • Splitten und Verketten von Zeichenfolgen • Senden von E-Mails • … Agenda 2
  3. 3. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de > SQL 2005 ++ > SQL Server ist Host, .Net ist Gast > Assemblies werden in die Datenbank importiert  • sys.assemblies • sys.assembly_files > Namespace Microsoft.SqlServer.Server > .Net Framework <= 3.5  Grundlagen 3
  4. 4. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Sicherheitsbetrachtungen 4 > Assemblies müssen signiert werden • Alternative: Datenbank als vertrauenswürdig einstufen > Referenzieren von Framework-DLLs • CLR Assembly muss mit PERMISSION_SET=SAFE registriert werden > Referenzieren eigener oder 3rd Party DLLs • Müssen als CLR Assemblies in die Datenbank importiert werden Sicherheitsstufe Zugriff auf… SAFE Ausschließlich eigene Datenbank EXTERNAL_ACCESS Zusätzlich Dateisystem, Registry, Netzwerk UNSAFE Zusätzlich Unmanaged Code
  5. 5. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de > CLR Funktionen aktivieren (1x pro Server) > Erstellen der Assembly in Visual Studio > Importieren in die Datenbank > Erstellen einer CLR Funktion unter Verweis auf die Methode in der .Net Assembly Los geht‘s! 5
  6. 6. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Zeichenfolgenverschlüsselung 6
  7. 7. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de … und natürlich auch Entschlüsselung  7
  8. 8. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Reguläre Ausdrücke 8 > Prüfung, ob Zeichenfolge einem regulären Ausdruck entspricht > Klasse System.Text.RegularExpressions.Regex > Tipp: http://www.regular-expressions.info Beispiel Regulärer Ausdruck PLZ (Deutschland) ^(D-)?d{5}$ Url ^http(s)?://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ E-Mail-Adresse ^[a-zA-Z.-_]+@([a-zA-Z.-_]+.)+[a-zA-Z]{2,4}$ IP-Adresse (lazy) ^b(?:d{1,3}.){3}d{1,3}b$ IP-Adresse (strong) ^b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0- 4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0- 9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)b$
  9. 9. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Reguläre Ausdrücke (E-Mail-Adresse) 9
  10. 10. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Reguläre Ausdrücke (generisches Beispiel) 10
  11. 11. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Splitten von Zeichenfolgen 11 > Transformieren einer durch Separatoren getrennten Zeichenfolge in eine Tabelle
  12. 12. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Splitten von Zeichenfolgen (Fortsetzung) 12
  13. 13. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Verketten von Zeichenfolgen 13 > Realisierung mittels SQL benutzerdefiniertem Aggregat • Separate Klasse pro Aggregat erforderlich > Attribute [Serializable] und [SqlUserDefinedAggregate] > Klasse ableiten von IBinarySerialize • Implementieren der Methoden Read und Write > Weitere zu implementierende Methoden: • Init: Initialize the internal data structures • Accumulate: Accumulate the next value, not if the value is null • Merge: Merge the partially computed aggregate with this aggregate • Terminate: Called at the end of aggregation, to return the results of the aggregation > http://technet.microsoft.com/en-us/library/ms131056%28SQL.90%29.aspx
  14. 14. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Verketten von Zeichenfolgen (Fortsetzung) 14
  15. 15. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de E-Mail senden 15 > Verwendung: • SQL Server Express • (noch) mehr Möglichkeiten als bei xp_sendmail (Konfiguration durch erweiterte Eigenschaften, Anmeldung an SMTP Server möglich)
  16. 16. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de E-Mail senden (Fortsetzung) 16 > Achtung: Sicherheitsstufe muss mindestens EXTERNAL_ACCESS sein 
  17. 17. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de > Abfragen eines Webservice (z.B. Börsenkurse, Währungsumrechnung) > Export einer Tabelle/eines Abfrageergebnisses nach XML oder CSV > SQL Server Reporting Service Berichte als PDF per E-Mail versenden > … Weitere Ideen 17
  18. 18. SeiteCommunardo Software GmbH · Kleiststraße 10 a · D-01129 Dresden/Germany · Fon +49 (0) 351/833 820 · Mail info@communardo.de · www.communardo.de Vielen Dank! 18 > Dorrit.Riemenschneider@Communardo.de > www.communardo.de/techblog/author/dri > www.xing.com/profile/Dorrit_Riemenschneider > twitter.com/sharepoint_team
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×