ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
633
633
EMPFEHLEN
-
Hi,
habe mal wieder ein kleines Problem.
Und zwar habe ich folgende Bibliothek erstellt:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
Public Class UDPSender <Microsoft.SqlServer.Server.SqlProcedure()> _ Public Shared Sub sendUDP(ByVal IP As Long, ByVal Port As Integer, ByVal Data As String) Dim SenderSo As UdpClient Dim EP As IPEndPoint SenderSo = New UdpClient(9845) EP = New IPEndPoint(IP, Port) Dim Bytes(1024) As Byte Bytes = Text.Encoding.ASCII.GetBytes(Data) SenderSo.Send(Bytes, Bytes.Length, EP) End Sub End Class
Diese soll als CLR-Prozedur in SQL-Server eingebunden werden. Das klappt auch soweit.
Nur beim Ausführen erhalte ich vom SQLServer folgende Fehlermeldung:
Weiss jemand, was ich da falsch mache?A .NET Framework error occurred during execution of user-defined routine or aggregate "CallHome":
System.Security.SecurityException: Fehler bei der Anforderung des Berechtigungstyps "System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".
System.Security.SecurityException:
bei System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
bei System.Security.CodeAccessPermission.Demand()
bei System.Net.Sockets.Socket.Bind(EndPoint localEP)
bei UDPSender.sendUDP(Int64 IP, Int32 Port, String Data)
mfg LuigiEd
-
ok. hier die lösung:
statt
Code :1
SenderSo = New UdpClient(9845)
einfach den parameterlosen Konstruktor nutzen:
Code :1
SenderSo = New UdpClient()
Hintergrund ist, dass sich die Routine sonst an den angegebenen Port bindet und diesen bis zum Senden blockiert.
Hier schmeißt? ... schmeisst**** ... WIRFT
SQL-Server (oder das .NET-Framework) die SocketPermissionException, weil der SQL-Server nicht die berechtigung dazu hat.
Wäre auch fatal, wenn das ginge. Würde die Prozedur vom DB-Server ein 2. Mal aufgerufen, während der 1. Aufruf noch nicht terminiert ist, würde es krachen, weil der 1. Aufruf den Port noch belegt.
-
.NET ist nicht VB6. Ich habs verschoben.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
Fehler R6034 - Fehler bei Firefox, vermutlich VLC-Player
Von HPB im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 23.11.09, 12:27 -
Mysql fehler warum? Finde keinen Fehler
Von strex im Forum PHPAntworten: 6Letzter Beitrag: 12.06.07, 18:28 -
[help] Fehler auf Site - kann den Fehler nicht finden...
Von Nice99 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 10.08.06, 22:30 -
[help] Fehler auf Site - kann den Fehler nicht finden...
Von Nice99 im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 10.08.06, 21:31 -
*argh* fehler im GB-installscript find aber den fehler nicht
Von Wolf of Doom im Forum PHPAntworten: 5Letzter Beitrag: 06.05.02, 11:54





Zitieren

Login





