Announcement

Collapse
No announcement yet.

In einem Sproc variablen vom Typ Image vergleichen.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • In einem Sproc variablen vom Typ Image vergleichen.

    Hallo ich habe da ein kleines Problem.
    Ich soll in einem Sproc zwei Variablen vom Typ Image vergleichen bzw schauen ob dies schon in der DB vorhanden ist.
    Dazu habe ich folgendes gemacht :

    IF EXISTS(Select * From Attachments where Datei LIKE @p_dDatei)
    return -1

    Wenn ich dies nun speichern will gibt er mir folgenden Fehler zurück:

    Fehler 403: Ungültiger Operator für Datentyp. Operator ist Like
    Datentyp ist Image .

    Könnt ihr mir sagen wie ich dieses kleine Problem in den Griff bekomme ?

  • #2
    LIKE ist für Datentyp IMAGE nicht möglich!
    Unter "image-Datentyp" ==> „ntext“, „text“ und „image“ findet man im Online-Manual beschrieben, welche Funktionen mit diesen Datentypen überhaupt ausgeführt werden können.

    bye,
    Helmu

    Comment


    • #3
      Danke !
      Da finde ich aber leider auch nicht die Lösung meines Problems !
      Brauche unbedingt eine Möglichkeit wie ich zwei Variablen vom Typ image vergleichen kann.
      Und zwar den gesamten Eintrag und nicht nur x length.

      Kann mir da keiner Helfen ?
      Stehe ich als erster vor diesem Problem

      Comment


      • #4
        Hallo,
        es gibt aus meiner Sicht mindestens 2 Möglichkeiten:
        <br>
        Plan A: Über SQL wird die BLOb-Länge (d.h. die Bytes-Anzahl) verglichen (auch wenn das eine gewissen Unsicherheit mit sich bringt). Beispiel: <i>SELECT DATALENGTH(Photo) FROM Northwind.dbo.Employees</i>
        <br>
        Plan B: Es wird der Hashwert (alias "digitaler Fingerabdruck") des BLOb-Inhalts verglichen (dies sollte garantiert eindeutig sein). Da der Hashwert als kurze Zeichenkette vorliegt, kann dieser direkt verglichen werden.
        <br>
        Mit dem MS SQL Server 2005 lassen sich Plan A und B mit Bordmitteln umsetzen (da zur Funktionserweiterung von T-SQL eigene .NET-Assemblies eingebunden werden können). Beim MS SQL Server 2000 müsste Plan B mit einer UDF-DLL (Win32) umgesetzt werden, was aber nicht gerade zu den trivialen Aufgaben gehört

        Comment


        • #5
          MM ja ok habe hier einen MS SQL Server 2000 stehen.
          Und möchte da dann auch nicht so dran rumschrauben .
          Naja dann muss ich halt damit leben das es da zu redundanz kommen kann.

          Aber trotzdem vielen dank für eure Bemühungen

          Comment

          Working...
          X