Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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...
Nächste SlideShare
Wird geladen in …5
×

SQL CLR Integration

1.386 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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

×