Zum Inhalt springen

.NET Assemblies in SQL Server 2005 einbinden


Code Poet

Empfohlene Beiträge

Hallo liebe Leute,

für ein privates Projekt mit einigen Constraints würde ich gerne SQL Server 2005 einsetzen.

Dort kann man soweit ich weiß .NET Assemblies direkt einbinden und entsprechende Objekte benutzen.

Weiß jemand von Euch, wie das in der Praxis aussieht und ob das zuverlässig funktioniert? Wie setze ich da am besten an?

Gruß,

Der Poet

Link zu diesem Kommentar
Auf anderen Seiten teilen

schönes, umfangreiches thema. prinzipiell gibts einige vor- und nachteile, wenn man CLR-sprachen gegenüber unmanaged code in den yukon einspeist.

- die speicherverwaltung macht das meiste automatisch, man muss sich um vieles nicht mehr kümmern.

- die sicherheit ist zu beachten, code aus einer assembly muss einer von mehreren berechtigungen (SAFE | EXTERNAL_ACCESS | UNSAFE) unterliegen.

- debugging von CLR-code ist an mehrere weitere voraussetzungen geknüpft.

- verschachtelte transaktionen sind supertoll zu lösen, mit T-SQL etwas mühsamer :)

- XML-verarbeitung, XSLT-transformation, etc. wird viel einfacher.

- performance könnte u.u. darunter leiden, wenn auf T-SQL verzichtet wird.

ansetzen würde ich bei CREATE ASSEMBLY.

aber vl. stellst du ja noch konkretere fragen.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ehrlich gesagt habe ich selbst bisher nur mit T-SQL gearbeitet und die Anwendungen von sämtlichem SQL Code befreit. :)

Konkret habe ich folgendes Szenario:

Eine externe Applikation, auf die ich keinen Einfluss nehmen kann, schreibt in eine Tabelle neue Records, sobald eine neue Rechnung angelegt wird. Später wird diese Rechnung aus der selben Applikation validiert und es erfolgt ein UPDATE statement.

In jeder Zeile dieser Tabelle stehen nun Keys aus anderen Tabellen, die in einer Sybasedatenbank liegen, welche per ODBC-Verbindung von der SQL Server 2005-Maschine erreichbar ist.

Jedes Mal, wenn nun ein INSERT statement auf die Rechnungstabelle gesetzt wird, sollen die Werte nach Eintragung an ein .NET Assembly weitergeleitet werden, das die entsprechenden Zeilen anhand der Keys aus der Sybase DB zieht und Informationen daraus andererorts wegschreibt.

Bei einem UPDATE trigger soll das Assembly entsprechend die anderen Zeilen updaten.

Gänzlich unerfahren in der Verheiratung von .NET Assemblies direkt im SQL Server (aus einem unerfindlichen Grund gab es in meiner alten Firma eine Policy, die das verbot), weiß ich nicht so recht, wo ich jetzt ansetzen soll.

Sobald ich es hinbekomme, dass das Assembly aufgerufen wird und ich die Werte aus den UPDATE bzw. INSERT Statements rausziehen kann, bin ich so gut wie da.

Aber ohne zu wissen, wie ich genau vorgehen soll, ist es schwierig... Ich wüsste nicht mal, welchen Projekttyp ich in Visual Studio (2005, Team Suite) dafür benutzen muss.

Wenn das funktioniert, würde ich auch in unserer Firma einige Audits so durchführen, aber erstmal muss ich darin Fuß fassen. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also bis jetzt habe ich es auch vermieden .Net-Assemblies zu nutzen, da ich an der Stelle die Welten auch nicht vermischen möchte. Gerade bei Themen wie Stringmanipulation kann ich aber durchaus Vorteile sehen.

Ist der einzige Grund für die Nutzung der Zugriff für das Update auf Sybase? Wenn es "nur" das ist, würde evtl. auch ein Linked Server weiterhelfen (ODBC-Zugriff hast du ja, wie du schreibst), so dass du direkt das Update absetzen kannst.

Gruß,

Honky

PS: Der Projekttyp im Studio wäre übrigens "Class Library" (natürlich in der Sprache deiner Wahl)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...