2009-08-18 12 views
1

Ich habe eine Firebird-Datenbank, die ich neu erstellen muss. Es enthält eine externe UDF-Funktion. Ich habe einen SQL-Dump der DB-Struktur unter Verwendung von IB Expert:Firebird UDF Erstellungsfehler

DECLARE EXTERNAL FUNCTION LPAD 
    CSTRING(255), 
    INTEGER, 
    CSTRING(1) 
RETURNS CSTRING(255) FREE_IT 
ENTRY_POINT 'IB_UDF_lpad' MODULE_NAME 'ib_udf' 

aber ich erhalte eine Fehlermeldung, wenn ich die Abfrage ausführen:

Ungültige Token.
Dynamischer SQL-Fehler.
SQL-Fehlercode = -104.
Token unbekannt - Zeile 1, Spalte 27.
'LPAD'.

Ich benutze Firebird 2.1.1 unter Windows. Weiß jemand, was das Problem sein könnte?

Antwort

2

versuchen, diese

DECLARE EXTERNAL FUNCTION "LPAD" 
    CSTRING(255), 
    INTEGER, 
    CSTRING(1) 
RETURNS CSTRING(255) FREE_IT 
ENTRY_POINT 'IB_UDF_lpad' MODULE_NAME 'ib_udf' 
+0

Danke, es hat funktioniert - Ich habe versucht, mit einfachen Anführungszeichen zu entkommen, aber es kam nicht. Ich frage mich, warum dies einen Unterschied machen würde und warum IB Expert es falsch exportiert ... – Rytis

+0

Firebird 2.1 fügte eine interne Implementierung von LPAD hinzu. Da LPAD jetzt ein Schlüsselwort ist, wird es in diesem Kontext nicht entkoppelt unterstützt. Siehe http://www.firebirdsql.org/refdocs/langrefupd21-intfunc-lpad.html – garethm