Announcement

Collapse
No announcement yet.

Blob Datenfeld innerhalb von Stored Procedures

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

  • Blob Datenfeld innerhalb von Stored Procedures

    Hallo,<br>
    ich benutze Delphi 4.0, IB 5.6. <br>
    Innerhalb einer Stored Procedure rufe ich eine
    andere Stored Procedure auf, die als Parameter
    ein Blob-Feld hat, aber es kommt vom WISQL die Meldung
    "parameter mismatch for procedure InsertBlobdaten"
    <br>
    Meine Stored Procedures:<br>
    Create Procedure InsertBlobdaten(<br>
    i_DatenSize Integer,<br>
    i_Daten Blob sub_type 0,<br>
    i_LastIdx Integer<br>
    )<br>
    Returns<br>
    (r_LaufIdx Integer<br>
    )<br>
    AS<br>
    Begin<br>
    Insert Into T_Blobdaten <br>(DatenSize,Daten,LastIdx) values<br>
    (:i_DatenSize,:i_Daten,:i_LastIdx);<br>
    Select Max(LaufIdx) From T_Blobdaten Into r_LaufIdx;<br>
    End !!<br>
    <br>
    Create Procedure InsertDefault_Blobdaten<br>
    (i_MaxWert Integer)<br>
    AS<br>
    Declare Variable HLoop Integer;<br>
    Declare Variable HDaten Blob sub_type 0;<br>
    Begin HLoop = 0;<br>
    HDaten = 12345; ??????????? <br>
    While (HLoop < : i_MaxWert) Do <br>
    Begin <br>
    Execute Procedure InsertBlobdaten(1,HDaten,0);<br>
    HLoop = HLoop+1;<br>
    End<br>
    Update T_Blobdaten Set LastIdx = 1 Where LaufIdx = :i_MaxWert;<br>
    End !!<br>
    <br>

    Was mache ich falsch ? <br>
    Im Microsoft-SQL-Server gibt es für diesen Fall
    den Datentypen binary und bei Interbase ? <br>
    <br>
    Danke. <br>
    Gruß <br>

    Ralf Eberhard

  • #2
    Hallo Ralf,

    bei Interbase 5.6 kannst Du Daten nicht direkt einem Blob zuweisen (ab Firebird 1.0 kann man Strings direkt zuweisen).

    Um nun Deine Initialdaten in den Blob zu bekommen muß eine entsprechende UDF zu Hilfe genommen werden ( http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_udf_libs ).

    Gruß

    Torste

    Comment

    Working...
    X