An Herrn Andreas Kosch
Ich habe Ihre UDF betreffend Soundex aus Ihrem Buch Client/Server bei der Datenbank angemeldet. Der SQL-Explorer zeigt, daß die Funktionen korrekt übernommen wurden.
Trotzdem erhalte ich bei "Select oslower(Name) from TabXX" die Meldung "Allgemeiner SQL-Fehler A fatal exception occured during the execution of a user defined function. arithmetic exception, numeric overflow, or string truncation."
Name ist hier VarChar(30).
Was habe ich falsch gemacht ?
Kann man auch längere oder kürzere Felder der Function Oslower (welche mit Länge 40) deklariert ist, übergeben ? Detto bei Soundex.
Die Funktion wurde übrigens nicht mit einem SQL-Script sondern mit einer TQuery-Instanz wie folgt bei der Datenbank angemeldet:
with Query1 do<p>
begin<p>
SQL.Clear;<p>
SQL.Add('DECLARE EXTERNAL FUNCTION OSLOWER CHAR(40) ');<p>
SQL.Add('RETURNS CHAR(40) ');<p>
SQL.Add('ENTRY_POINT "OSLOWER" MODULE_NAME "OSUDF5.DLL"');<p>
ExecuteSQL;<p>
end;<p>
Detto die anderen Funktionen.
Bitte geben Sie mir Ihre Antwort per EMail "[email protected]"
Vielen Dank!<p>
Helmut
Ich habe Ihre UDF betreffend Soundex aus Ihrem Buch Client/Server bei der Datenbank angemeldet. Der SQL-Explorer zeigt, daß die Funktionen korrekt übernommen wurden.
Trotzdem erhalte ich bei "Select oslower(Name) from TabXX" die Meldung "Allgemeiner SQL-Fehler A fatal exception occured during the execution of a user defined function. arithmetic exception, numeric overflow, or string truncation."
Name ist hier VarChar(30).
Was habe ich falsch gemacht ?
Kann man auch längere oder kürzere Felder der Function Oslower (welche mit Länge 40) deklariert ist, übergeben ? Detto bei Soundex.
Die Funktion wurde übrigens nicht mit einem SQL-Script sondern mit einer TQuery-Instanz wie folgt bei der Datenbank angemeldet:
with Query1 do<p>
begin<p>
SQL.Clear;<p>
SQL.Add('DECLARE EXTERNAL FUNCTION OSLOWER CHAR(40) ');<p>
SQL.Add('RETURNS CHAR(40) ');<p>
SQL.Add('ENTRY_POINT "OSLOWER" MODULE_NAME "OSUDF5.DLL"');<p>
ExecuteSQL;<p>
end;<p>
Detto die anderen Funktionen.
Bitte geben Sie mir Ihre Antwort per EMail "[email protected]"
Vielen Dank!<p>
Helmut
Comment