Laden...

Profil von Afrokalypse

myCSharp.de - Member Mitglied seit
A
Afrokalypse
myCSharp.de - Member
92
Themen
452
Beiträge
Hier können Sie einen kurzen informativen Text eingeben, der in Ihrem Profil dargestellt werden soll.
Dabei seit
07.06.2005
Letzte Aktivität
vor 10 Jahren
Alter
41 Jahre
Beruf
FIAE
Erstellt vor 15 Jahren

Hi Khalid,
ich habe vergessen die Funktion zu registrieren.
Jetzt klappt es 😃
Danke

Erstellt vor 15 Jahren

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;
using System.Security.Cryptography;

namespace sha_hash
{
    public class UserDefinedFunctions

    {
        [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, DataAccess = DataAccessKind.None)]

        public static SqlBytes GetHash(SqlString Algorithm, [SqlFacet(MaxSize = -1)] SqlBytes Plaintext)
        {
            if (Algorithm.IsNull || Plaintext.IsNull)
                return SqlBytes.Null;
            bool HashDefined = true;
            HashAlgorithm Hash = null;
            switch (Algorithm.Value.ToUpper())
            {
                case "SHA256":
                    Hash = new SHA256Managed();
                    break;
                case "SHA384":
                    Hash = new SHA384Managed();
                    break;
                case "SHA512":
                    Hash = new SHA512Managed();
                    break;
                default:
                    HashDefined = false;
                    break;
            }
            if (!HashDefined)
            {
                throw new Exception("Unsupported hash algorithm - use SHA256, SHA384 or SHA512");
            }
            byte[] HashBytes = Hash.ComputeHash(Plaintext.Value);
            // Convert result to a SqlBytes value
            return new SqlBytes(HashBytes);
        }
    }
}

und


CREATE ASSEMBLY sha_hash FROM dateipfad WITH PERMISSION_SET = SAFE

Als Fehlermeldungen erhalte ich wenn ich den Assemblynamen mit nutze:

'Die "sha_hash"-Spalte oder die benutzerdefinierte Funktion bzw. das benutzerdefinierte Aggregat "sha_hash.UserDefinedFunctions.GetHash" wurde nicht gefunden, oder der Name ist mehrdeutig.'

VG

Erstellt vor 15 Jahren

verwendetes Datenbanksystem: MSSQL2008

Hallo zusammen,
ich habe diesen Artikel entdeckt: http://sqlblog.com/blogs/michael_coles/archive/2009/04/16/13253.aspx

Laut MSDN http://msdn.microsoft.com/en-us/library/w2kae45k%28v=VS.80%29.aspx
soll man ein SQL Server Projekt erstellen. Ich habe VSEE2008, scheinbar habe ich diesen Projekttyp nicht.
Deshalb habe ich gehofft, dass man das ganze auch einfach per DLL machen kann.
also habe ich den Code als DLL erstellt und im MSSQL Server als Assembly hinzugefügt.

Bis hierhin hat alles funktioniert. Nur lässt sich die Funktion GetHash nicht aufrufen.
Ich erhalte immer die Meldung
"'GetHash' wird nicht als Name einer integrierten Funktion erkannt."

Frage1: Lässt sich das überhaupt als DLL mit VSEE2008 machen?
Frage2: Wenn ja, warum lässt sich die Funktion nicht aufrufen? Muss ich noch was beachten?

Danke für die Hilfe

Afr0

Erstellt vor 16 Jahren

Danke für die Tipps.

Leider ist mir im Nachhinein aufgefallen, dass mein "Key" nicht immer eindeutig ist.
Dictionary<T> funktioniert da schon nicht mehr. Deshalb hab ichs erstmal doch wieder über object[][] geregelt.

Ich werde bei Zeit und Gelegenheit mal versuchen das per IEnumerable<T> und Dictionary oder Lookup zu lösen.

gruß
afr0

Erstellt vor 16 Jahren

Hallo Gü,
das könnte doch was sein 😃
ich schau mir das mal an.

danke.

Erstellt vor 16 Jahren

Hallo zusammen,
ich suche ein Objekt / eine Klasse in der ich folgendes realisieren kann:

Ich lade Daten aus einer Tabelle einer Datenbank. (bsp: username, vorname, nachname, email)

Die Werte möchte ich nun in meinem gesuchten Objekt wie folgt auslesen können

string vorname = objekt.next().value["vorname"];
string nachname = objekt.next().value["nachname"];

wobei objekt.next jeweils den nächsten usernamen liefert und value dann einen der dazugehörigen werte des usernamen liefert.

gibt es da schon eine passende klasse?
ich bin nicht sicher ob eine hashtable diese vorgehensweise unterstützen würde...

bisher habe ich es mit mehrdimensionalen arrays geregelt.
(string[][] user)
aber vllt gehts auch eleganter?
auf eine datatable würde ich auch gerne verzichten. 😃
danke für die hilfe
afr0

Erstellt vor 16 Jahren

So ich hab das Problem gerade lösen können.
http://msdn.microsoft.com/en-us/library/fze2ytx2.aspx


request.proxy = null; 

und schon wird der Proxy umgangen 😃
Vielleicht hilfts ja auch anderen.

Gruß
Afr0

Erstellt vor 16 Jahren

hallo zusammen.
ich mache einen ftpwebrequest auf einen server:


EventLogs logs = new EventLogs();
                logs.createLogFile();
                
                //Ein Request erstellen an den ftp Server
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://merinserver");
                request.EnableSsl = false;
                //Die Methode angeben um eine Datei hochzuladen
                request.Method = WebRequestMethods.Ftp.ListDirectory;
               
                //Berechtigungsdetails setzen vom ftp Server durch Username und Passwort
                request.Credentials = new NetworkCredential("user", "pass");           
                            
                //Versuch eine Verbindung zu erstellen und eine Antwort zu erhalten
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                logs.writeFile("FROM CACHE: " + response.IsFromCache.ToString());  //ergebnis ist FALSE
                logs.writeFile("URI: " + response.ResponseUri.AbsoluteUri);  // ergebnis ist [URL]ftp://meinserver[/URL]            
                
                //Ein neuen Stream für den Response erstellen dem der FileStream mitgegeben wird.
                Stream responseStream = response.GetResponseStream();
                StreamReader sr = new StreamReader(responseStream, Encoding.Default);
               
                while (sr.Peek() > -1)
                {
                       //tu irgendwas
                }
....
....

dabei frage ich einen ordner ab mit ListDirectory. der Ordner ist definitiv leer 😃
als ftpwebresponse erhalte ich jedoch folgende meldung (wird in eine log datei geschrieben):


2009-08-18 11:09:21 : FROM CACHE: False
2009-08-18 11:09:21 : URI: ftp://meinserver
2009-08-18 11:09:21 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2009-08-18 11:09:21 : <!-- HTML listing generated by Squid 2.6.STABLE12 -->
2009-08-18 11:09:21 : <!-- Tue, 18 Aug 2009 06:03:59 GMT -->
2009-08-18 11:09:21 : <HTML><HEAD><TITLE>
2009-08-18 11:09:21 : FTP Directory: ftp://user@meinserver/
2009-08-18 11:09:21 : </TITLE>
2009-08-18 11:09:21 : <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE>
2009-08-18 11:09:21 : </HEAD><BODY>
2009-08-18 11:09:21 : <H2>
2009-08-18 11:09:21 : FTP Directory: <A HREF="/">ftp://user@meinserver/</A>/
...
...
<!-- hier kommt irgendwann eine datei, die aber nicht mehr auf dem server vorhanden ist -->
2009-08-18 11:09:21 : Generated Tue, 18 Aug 2009 06:03:59 GMT by irgendeinproxyserver.de (squid/2.6.STABLE12)
2009-08-18 11:09:21 : </ADDRESS></BODY></HTML>

ich möchte aber gerne wissen was wirklich auf dem ftp server liegt.
hat jemand ne idee wie ich das anders abfragen kann und an die infos komme, die ich wirklich brauche?

dank und gruß
afr0

Erstellt vor 16 Jahren

Wo dN!3L das schon erwähnt:


>
ist evtl mal eine Lesestunde wert 😉. Dann dürfte auch das Hantieren mit object aufhören.

LaTino

Ich habe das hier Abfragen für mehrere Tabellen (LINQ to DataSet) überflogen und es damit auch versucht, meine Daten aus dem DataSet zu holen. Deshalb bin ich auch so an dem 'new' hängen geblieben 😃
Aber durchlesen werde ich es mir trotzdem noch mal.

Gruß
Afr0

Erstellt vor 16 Jahren

Ah 😃
das mit dem new wusste ich nicht. Genau da lag der Fehler.

mit select tbin; funktionierts.

Vielen Dank 😃