335544831

Einsatz von AvERP mit Linux als Server- und/oder Anwendungs-OS

Moderator: SYNERPY

Antworten
Christian Winkel
Beiträge: 110
Registriert: Mo Feb 07, 2005 10:45 pm

335544831

Beitrag von Christian Winkel »

Hallo

ich versuche hier einen Debian Server mit AvERP zum laufen zu überreden.
Der Server läuft, und mit IBExpert kann ich auf die Daten zugreifen.
Wenn ich jedoch AvERPStart aufrufe kommt beim Verbindungsaufbau eine Fehlermeldung 335544831. Dies Kann ich mit OK besrtätigen. Danach läuft alles normal weiter. Ich kann jedoch auf keine daten zugreifen, bzw bei jedem Versuch kommt die Meldung erneut.

Gibt es da nen guten Tipp?

danke

Gruss

Christian
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Christian,

könnten Sie das noch einmal genauer beschreiben :?:

Ich habe hier die AvERP Datenbank auf einem SUSE Server mit Firebird 1.52 ohne Probleme laufen.
Die Datenbank selber muß aber vorher auf Linux angepasst werden :!:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Christian Winkel
Beiträge: 110
Registriert: Mo Feb 07, 2005 10:45 pm

Beitrag von Christian Winkel »

hallo

und wie passt man die datenbank an linux an?
das scheint ja relativ schwierig zu sein. unser software partner (ein softwarehaus aus der synerp-partner liste) tut sich mächtig schwer damit.

gibt es da ein tool für? wenn ja wo?

meiner diagnose nach klappt da irgendwas mit den udf funktionen nicht, was aber genau das problem ist weiß ich nicht.


danke

Christian
gnom
Beiträge: 51
Registriert: Di Jan 04, 2005 6:42 pm
Wohnort: Görlitz

Beitrag von gnom »

Hallo Christian,

Du musst die ganzen Verweise auf die externen UDF Funktionen der Bibliothek FreeUDF.dll per SQL Script erst löschen und danach musst Du das Script ausführen, das der GrUDF.so Bibliothek beiliegt, um die Funktionen wieder zu registrieren. Diese verweisen dann auf die GrUDF.so Bibliothek. Diese musst Du in das UDF Unterverzeichnis der Firebird Installation legen.

Danach sollte AvERP ohne Problemen mit den neuen UDFs laufen.

Mir steht das ganze noch mit meiner Linux Testinstallation bevor.

Gruß und schönes WE

Heiko
gnom
Beiträge: 51
Registriert: Di Jan 04, 2005 6:42 pm
Wohnort: Görlitz

Beitrag von gnom »

Zum löschen der Funktionen kann folgendes Skript verwendet werden:

Code: Alles auswählen

/*******************************************************************************
 * Skript zum entfernen der UDF Funktionen aus der AvERP Datenbank
 *
 * Autor: Heiko Hänsel
 * Stand: 22.04.2005
 ******************************************************************************/
DROP EXTERNAL FUNCTION ABS;
DROP EXTERNAL FUNCTION ASCII_CHAR;
DROP EXTERNAL FUNCTION ASCII_VAL;
DROP EXTERNAL FUNCTION F_ADDMONTH;
DROP EXTERNAL FUNCTION F_ADDYEAR;
DROP EXTERNAL FUNCTION F_AGEINDAYS;
DROP EXTERNAL FUNCTION F_AGEINDAYSTHRESHOLD;
DROP EXTERNAL FUNCTION F_AGEINMONTHS;
DROP EXTERNAL FUNCTION F_AGEINMONTHSTHRESHOLD;
DROP EXTERNAL FUNCTION F_AGEINWEEKS;
DROP EXTERNAL FUNCTION F_AGEINWEEKSTHRESHOLD;
DROP EXTERNAL FUNCTION F_ANSILOWERCASE;
DROP EXTERNAL FUNCTION F_ANSIUPPERCASE;
DROP EXTERNAL FUNCTION F_BIGLRTRIM;
DROP EXTERNAL FUNCTION F_BIGSTRINGLENGTH;
DROP EXTERNAL FUNCTION F_BIGSUBSTR;
DROP EXTERNAL FUNCTION F_BLOBASPCHAR;
DROP EXTERNAL FUNCTION F_BLOBLEFT;
DROP EXTERNAL FUNCTION F_BLOBLINE;
DROP EXTERNAL FUNCTION F_BLOBMAXSEGMENTLENGTH;
DROP EXTERNAL FUNCTION F_BLOBMID;
DROP EXTERNAL FUNCTION F_BLOBRIGHT;
DROP EXTERNAL FUNCTION F_BLOBSEGMENTCOUNT;
DROP EXTERNAL FUNCTION F_BLOBSIZE;
DROP EXTERNAL FUNCTION F_CDOWLONG;
DROP EXTERNAL FUNCTION F_CDOWSHORT;
DROP EXTERNAL FUNCTION F_CHARACTER;
DROP EXTERNAL FUNCTION F_CLOSEDEBUGGEROUTPUT;
DROP EXTERNAL FUNCTION F_CMONTHLONG;
DROP EXTERNAL FUNCTION F_CMONTHSHORT;
DROP EXTERNAL FUNCTION F_CRLF;
DROP EXTERNAL FUNCTION F_DAYOFMONTH;
DROP EXTERNAL FUNCTION F_DAYOFWEEK;
DROP EXTERNAL FUNCTION F_DAYOFYEAR;
DROP EXTERNAL FUNCTION F_DEBUG;
DROP EXTERNAL FUNCTION F_DOLLARVAL;
DROP EXTERNAL FUNCTION F_DOUBLEABS;
DROP EXTERNAL FUNCTION F_EQUALDATE;
DROP EXTERNAL FUNCTION F_EQUALDATETIME;
DROP EXTERNAL FUNCTION F_EQUALFLOAT;
DROP EXTERNAL FUNCTION F_EQUALINTEGER;
DROP EXTERNAL FUNCTION F_EQUALSTRING;
DROP EXTERNAL FUNCTION F_EVALUATECYCLEEXPRESSION;
DROP EXTERNAL FUNCTION F_EVALUATEEXPRESSION;
DROP EXTERNAL FUNCTION F_FINDNTHWORD;
DROP EXTERNAL FUNCTION F_FINDWORD;
DROP EXTERNAL FUNCTION F_FINDWORDINDEX;
DROP EXTERNAL FUNCTION F_FIXEDPOINT;
DROP EXTERNAL FUNCTION F_GENERATEFORMATTEDNAME;
DROP EXTERNAL FUNCTION F_GENERATESNDXINDEX;
DROP EXTERNAL FUNCTION F_IBPASSWORD;
DROP EXTERNAL FUNCTION F_IBTEMPPATH;
DROP EXTERNAL FUNCTION F_ISDIVISIBLEBY;
DROP EXTERNAL FUNCTION F_LEFT;
DROP EXTERNAL FUNCTION F_LINEWRAP;
DROP EXTERNAL FUNCTION F_LRTRIM;
DROP EXTERNAL FUNCTION F_LTRIM;
DROP EXTERNAL FUNCTION F_MAXDATE;
DROP EXTERNAL FUNCTION F_MID;
DROP EXTERNAL FUNCTION F_MINDATE;
DROP EXTERNAL FUNCTION F_MODULO;
DROP EXTERNAL FUNCTION F_MONTH;
DROP EXTERNAL FUNCTION F_OSTERDATUM;
DROP EXTERNAL FUNCTION F_PADLEFT;
DROP EXTERNAL FUNCTION F_PADRIGHT;
DROP EXTERNAL FUNCTION F_PROPERCASE;
DROP EXTERNAL FUNCTION F_PROZENTE;
DROP EXTERNAL FUNCTION F_QUARTER;
DROP EXTERNAL FUNCTION F_REPLACESTRING;
DROP EXTERNAL FUNCTION F_RIGHT;
DROP EXTERNAL FUNCTION F_ROUNDFLOAT;
DROP EXTERNAL FUNCTION F_RTRIM;
DROP EXTERNAL FUNCTION F_SETDEBUGGEROUTPUT;
DROP EXTERNAL FUNCTION F_STRBLOB;
DROP EXTERNAL FUNCTION F_STRINGLENGTH;
DROP EXTERNAL FUNCTION F_STRIPDATE;
DROP EXTERNAL FUNCTION F_STRIPSTRING;
DROP EXTERNAL FUNCTION F_STRIPTIME;
DROP EXTERNAL FUNCTION F_SUBSTR;
DROP EXTERNAL FUNCTION F_TRUNCATE;
DROP EXTERNAL FUNCTION F_VALIDATECYCLEEXPRESSION;
DROP EXTERNAL FUNCTION F_VALIDATENAMEFORMAT;
DROP EXTERNAL FUNCTION F_VALIDATEREGULAREXPRESSION;
DROP EXTERNAL FUNCTION F_VALIDATESTRINGINRE;
DROP EXTERNAL FUNCTION F_WEEKOFYEAR;
DROP EXTERNAL FUNCTION F_WOY;
DROP EXTERNAL FUNCTION F_YEAR;
DROP EXTERNAL FUNCTION F_YEAROFYEAR;
DROP EXTERNAL FUNCTION F_ZAHLRUNDEN;
DROP EXTERNAL FUNCTION F_ZEITDIFFERENZ;
DROP EXTERNAL FUNCTION LOWER;
COMMIT WORK;
SHOW FUNCTIONS;
Folgende Ausgabe sollte beim Ausführen des Skriptes erscheinen:

Code: Alles auswählen

There are no user-defined functions in this database
Das bedeutet, alle Funktionen sind gelöscht.

Nun kann das folgende modifizierte Skript für die Registrierung der Funktionen aus der GrUDF Bibliothek ausgeführt werden:

Code: Alles auswählen

/* GrUDF - UDF for Interbase 6.x and Firebird 1.x
           designed for Delphi and Kylix

  Author...:  Torsten Grundke und Ergänzungen von Gerd Kroll
  E-mail...:  tgrundke@freenet.de
              gerd.kroll@tiscali.de

  This library is Open-Source!
  letzter Stand: 26.04.2004 Gerd Kroll  */

/*******************************************************************************
/* Änderungen:
	 22.04.2005 Heiko Hänsel
	 	Name der Funktion von F_ABS in ABS geändert, das sonst Fehler in der
	 	Bestelltansaktion.
*******************************************************************************/

DECLARE EXTERNAL FUNCTION F_COPY
CSTRING(254), INTEGER, INTEGER
RETURNS CSTRING(254)
ENTRY_POINT 'F_Copy' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MID
CSTRING(254), INTEGER, INTEGER
RETURNS CSTRING(254)
ENTRY_POINT 'F_Mid' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_STROFCHAR
CSTRING(1), INTEGER
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_StrOfChar' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SPACE
INTEGER
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_Space' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DIGITS
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_Digits' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LEFT
CSTRING(254), INTEGER
RETURNS CSTRING(254)
ENTRY_POINT 'F_Left' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_RIGHT
CSTRING(254), INTEGER
RETURNS CSTRING(254)
ENTRY_POINT 'F_Right' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LTRIM
CSTRING(254)
RETURNS CSTRING(254)
ENTRY_POINT 'F_LTrim' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_RTRIM
CSTRING(254)
RETURNS CSTRING(254)
ENTRY_POINT 'F_RTrim' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LRTRIM
CSTRING(254)
RETURNS CSTRING(254)
ENTRY_POINT 'F_Trim' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CHR
SMALLINT
RETURNS CSTRING(1) FREE_IT
ENTRY_POINT 'F_Chr' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ASCII
CSTRING(1)
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_AscII' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_COLLATEBR
CSTRING(254)
RETURNS CSTRING(254)
ENTRY_POINT 'F_CollateBr' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_INTTOHEX
INTEGER, INTEGER
RETURNS CSTRING(20) FREE_IT
ENTRY_POINT 'F_IntToHex' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_HEXTOINT
CSTRING(20)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_HexToInt' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CRLF
RETURNS CSTRING(2) FREE_IT
ENTRY_POINT 'F_CRLF' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EQUALSTRING
CSTRING(254), CSTRING(254)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_EqualString' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_FINDWORD
CSTRING(8196),
INTEGER
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_FindWord' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_PADLEFT
CSTRING(254),
CSTRING(10),
INTEGER
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_PadLeft' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_PADRIGHT
CSTRING(254),
CSTRING(10),
INTEGER
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_PadRight' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_PROPERCASE
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_ProperCase' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_STRIPSTRING
CSTRING(254),
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_StripString' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_STRINGLENGTH
CSTRING(254)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_StringLength' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BIGSTRINGLENGTH
CSTRING(1024)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_StringLength' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SUBSTR
CSTRING(254),
CSTRING(254)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_SubStr' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BIGSUBSTR
CSTRING(1024),
CSTRING(1024)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_SubStr' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYOFMONTH
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Day' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MONTH
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Month' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_YEAR
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Year' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_HOUR
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Hour' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MINUTE
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Minute' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SECOND
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_Second' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ENCODEDATE
TIMESTAMP, SMALLINT, SMALLINT, SMALLINT
RETURNS PARAMETER 1
ENTRY_POINT 'F_EncodeDate' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ENCODETIME
TIMESTAMP, SMALLINT, SMALLINT, SMALLINT
RETURNS PARAMETER 1
ENTRY_POINT 'F_EncodeTime' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ENCODETIMESTAMP
TIMESTAMP, SMALLINT, SMALLINT, SMALLINT, SMALLINT, SMALLINT, SMALLINT
RETURNS PARAMETER 1
ENTRY_POINT 'F_EncodeTimeStamp' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_DaySpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MONTHSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_MonthSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_YEARSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_YearSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_WEEKSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_WeekSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SECONDSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_SecondSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MINUTESPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_MinuteSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_HOURSPAN
TIMESTAMP, TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_HourSpan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYSBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_DaysBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_AGEINMONTHS
TIMESTAMP, TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_MonthsBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_YEARSBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_YearsBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_WEEKSBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_WeeksBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SECONDSBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS NUMERIC(18,0) BY VALUE
ENTRY_POINT 'F_SecondsBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MINUTESBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS NUMERIC(18,0) BY VALUE
ENTRY_POINT 'F_MinutesBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_HOURSBETWEEN
TIMESTAMP, TIMESTAMP
RETURNS NUMERIC(18,0) BY VALUE
ENTRY_POINT 'F_HoursBetween' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ADDMONTH
TIMESTAMP, TIMESTAMP, INTEGER
RETURNS PARAMETER 1
ENTRY_POINT 'F_IncMonth' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ANSIUPPERCASE
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_AnsiCaseUpper' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ANSILOWERCASE
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_AnsiCaseLower' MODULE_NAME 'GrUDF';

/* gleiche wie F_ANSILOWERCASE, als Übergangslösung */
DECLARE EXTERNAL FUNCTION LOWER
CSTRING(254)
RETURNS CSTRING(254) FREE_IT
ENTRY_POINT 'F_AnsiCaseLower' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ADDYEAR
TIMESTAMP, TIMESTAMP, INTEGER
RETURNS PARAMETER 1
ENTRY_POINT 'F_IncYear' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MONTHSTART
TIMESTAMP, SMALLINT, SMALLINT
RETURNS PARAMETER 1
ENTRY_POINT 'F_MonthStart' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MONTHEND
TIMESTAMP, SMALLINT, SMALLINT
RETURNS PARAMETER 1
ENTRY_POINT 'F_MonthEnd' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LASTDAY
SMALLINT, SMALLINT
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_LastDay' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYFRAC
TIMESTAMP
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_DayFrac' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYOFWEEK
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_DayOfWeek' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DAYOFYEAR
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'F_DayOfYear' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CDOWLONG
TIMESTAMP
RETURNS CSTRING(10) FREE_IT
ENTRY_POINT 'F_CDOWLong' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CDOWSHORT
TIMESTAMP
RETURNS CSTRING(4) FREE_IT
ENTRY_POINT 'F_CDOWShort' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CMONTHLONG
TIMESTAMP
RETURNS CSTRING(10) FREE_IT
ENTRY_POINT 'F_CMonthLong' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CMONTHSHORT
TIMESTAMP
RETURNS CSTRING(4) FREE_IT
ENTRY_POINT 'F_CMonthShort' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_OSTERDATUM
TIMESTAMP,
INTEGER
RETURNS PARAMETER 1
ENTRY_POINT 'F_Ostern' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_WEEKOFYEAR
TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_WeekOfYear' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EQUALDATE
TIMESTAMP,
TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_EqualDate' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EQUALDATETIME
TIMESTAMP,
TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_EqualDateTime' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DOUBLE
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Double' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_FRAC
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Frac' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_INT
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Int' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_TRUNCATE
DOUBLE PRECISION
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Trunc' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_TRUNCDEC
DOUBLE PRECISION, SMALLINT
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_TruncDec' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_CEIL
DOUBLE PRECISION
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Ceil' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_FLOOR
DOUBLE PRECISION
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Floor' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MAX
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Max' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MIN
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Min' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION ABS
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Abs' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DIV
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Div' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_MODULO
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Mod' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EXP
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Exp' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_FACTORIAL
INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Factorial' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SQRT
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Sqrt' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_POWER
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Power' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LNXP1
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_LnXP1' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LOG10
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Log10' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LOG2
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Log2' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_LOGN
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_LogN' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EQUALINTEGER
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_EqualInteger' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_EQUALFLOAT
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_EqualFloat' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ZAHLRUNDEN
DOUBLE PRECISION, INTEGER
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_ZahlRunden' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_PROZENTE
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Prozente' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_ZEITDIFFERENZ
TIMESTAMP, TIMESTAMP, CSTRING(254)
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_ZeitDifferenz' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_PI
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Pi' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_DEGTORAD
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_DegToRad' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_RADTODEG
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_RadToDeg' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_COS
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Cos' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SIN
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Sin' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_TAN
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Tan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_COTAN
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_CoTan' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_HYPOT
DOUBLE PRECISION, DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'F_Hypot' MODULE_NAME 'GrUDF';

/*------------------------------------------------------------------*/

DECLARE EXTERNAL FUNCTION F_NOT
INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Not' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_AND
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_And' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_OR
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Or' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_XOR
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_Xor' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SHL
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_ShL' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_SHR
INTEGER, INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_ShR' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBASPCHAR
BLOB
RETURNS CSTRING(32000) FREE_IT
ENTRY_POINT 'F_BlobAsPChar' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBSIZE
BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_BlobSize' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_STRBLOB
CSTRING(32000),
BLOB
RETURNS PARAMETER 2
ENTRY_POINT 'F_StrBlob' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBCAT
BLOB, BLOB, BLOB
RETURNS PARAMETER 3
ENTRY_POINT 'F_BlobCat' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBCATSTR
BLOB, CSTRING(32767), BLOB
RETURNS PARAMETER 3
ENTRY_POINT 'F_BlobCatStr' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBCOMP
BLOB, BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_BlobComp' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBICOMP
BLOB, BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_BlobIComp' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBUPPER
BLOB, BLOB
RETURNS PARAMETER 2
ENTRY_POINT 'F_BlobUpper' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBWRAP
BLOB, INTEGER, BLOB
RETURNS PARAMETER 3
ENTRY_POINT 'F_BlobWrap' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBISEMPTY
BLOB
RETURNS INTEGER BY VALUE
ENTRY_POINT 'F_BlobIsEmptyAfterTrim' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_REPLACESTRING
CSTRING(8196),
CSTRING(254),
CSTRING(254),
INTEGER,
INTEGER
RETURNS CSTRING(8196) FREE_IT
ENTRY_POINT 'F_ReplaceString' MODULE_NAME 'GrUDF';

DECLARE EXTERNAL FUNCTION F_BLOBLEFT
BLOB,
INTEGER
RETURNS CSTRING(32000) FREE_IT
ENTRY_POINT 'F_BlobLeft' MODULE_NAME 'GrUDF';

COMMIT WORK;
AvERP sollte nun wieder einwandfrei starten.

Gruß
Heiko
Christian Winkel
Beiträge: 110
Registriert: Mo Feb 07, 2005 10:45 pm

Beitrag von Christian Winkel »

Hallo Heiko


nachdem jetzt AvERP seit ein paar Wochen bei uns im Test läuft wollte ich eine neue Version unserer daten einspielen (mit den Daten unserer alten Anwendung). Leider hatte der Programmierer vergessen die UDF von Win nach Lin unzuschreiben. Also habe ich versucht mit deinem Script zu arbeiten.

Wie mache ich das?

Wenn ich das Script mit isql auf die Datenbank anwende sagt firebird das die UDF nicht gelöst werden können weil Abhängigkeiten bestehen.

Neue UDF Info reinschreiben geht auch nicht weil die DB bereits weche enthält.

Wo ist da der Trick?


schon mal danke

gruss


Chris
Gast

Beitrag von Gast »

Ich habe das selbe Problem.

Ist zwar wohl eher eine Firebird-Sache, aber vieleicht findet sich hier trotzdem jemand, der drauf antwortet ;)
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Gast,

das Problem ist meines Erachtens nur so zu lösen, zumindest hab ich es so gemacht:

- Datenbank auf eine Windows Workstation kopieren
- Lokalen Interbase-Server auf dieser WS starten
- mit IBExpert auf diese lokale Datenbank anmelden
- jetzt können die UDFs gelöscht werden, obwohl Abhängigkeiten bestehen
- neue UDFs deklarieren
- backup der Datenbank durchführen
- das backup auf den Linux-Server übertragen
- Restore auf den Linux-Server durchführen
- evtl. den Firebirdprozess restarten
- sich zurücklehnen und freuen das alles läuft :lol:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Gast

Beitrag von Gast »

Hi festus,

danke, so hat's funktioniert. Zudem ist wohl das Debian-Paket des Servers nicht wirklich geeignet, da nach dem Aktualisieren die Fehlermeldung noch immer auftauchte. Mit dem Original-Paket läuft's aber jetzt.

Gruß
Ralf
Gast

Beitrag von Gast »

hallo an alle,

mit o.g. Scripts lässt sich aber die neue Datenbank A.3 nicht modifizieren. Gibt es eine Lösung schon für die A3, mit der A2 war es kein problem.

Gruß

Marek
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Das haben wir noch nicht getestet. Da sich aber doch einiges getan hat, kann es schon sein, dass die ein oder andere Funktion nun doch verwendet wird.
Wir planen aber sowieso, eine Linux-Version online zu stellen. Das lästige Skript sollte sich ja dann erübrigen.
Gast

Beitrag von Gast »

Hallo

Danke für die schneller Antwort, wann ist es mit der Linux Version zu rechnen. Lassen Sie mich nicht so lange warten :D .
Ansonsten bräuchte ich Hilfe bei der Umaschreibung der Datenbanl auf Linux.

Gruß

Marek
test

Beitrag von test »

Hallo,

Da ich bis jetzt nichts über eine Linux Version gelesen habe, führt
vielleicht die folgende Frage zu einen Lösungsansatz:

Wie ist es möglich die UDFs der Datenbank A.3
zu löschen und neu anzulegen?

Mit IBExpert führt

DROP EXTERNAL FUNCTION F_ADDMONTH

zu folgender Fehlermeldung

This operation is not defined for system tables.
unsuccessful metadate update.
cannot delete.
UDF F_ADDMONTH.
there are 1 dependencies.

Changes will be rolled back...

Dieses war in der Vorgängerversion möglich!

Gruß

Andreas
KW

Beitrag von KW »

Hallo,
ich bin gerade dabei AvERP zu testen und möchte dies im Rahmen einer Linux-Installation mit Firebird 1.5 durchführen.
Beim AvERP-Download ist ja schon die neue .a3 Datenbank dabei. Habe gerade hier gelesen, dass man mittels des UDF-Scripts die .a3 Datenbank nicht verändern bzw. die Funktionen deregistrieren und die Linux UDFs einspielen kann (habe beim Versuch ebenfalls die Fehlermeldungen mit den Abhängigkeiten bekommen).

Gibt es hier schon einen neuen Ansatz oder neue Scripts oder ist schon eine Linux-Version in Aussicht ?


Gruß,

KW.
IB-User

AvERP unter Interbase 6.0.2 und SuSE8.2 Prof

Beitrag von IB-User »

Ich habe ebenfalls Probleme mit AvERP 2005a3 unter einem Linux-Server. Wir benutzen Interbase 6.0.2 unter Suse 8.2. Hier läuft bereits eine andere Datenbank seit 2 Jahren problemlos. Ich habe die averp.gdb in ein separates Unterverzeichnis auf dem Linuxserver kopiert. Die GrUDF.so liegt unter /opt/interbase/udf mit Rechten 777. Per IBExpert habe ich wie in der Anleitung unter http://forum.synerpy.de/viewtopic.php?t=219 beschrieben die vorhandenen Einträge unter UDF gelöscht (92 Stück) und per Script die neuen eingefügt (119 Stück). Dabei kam keine Fehlermeldung.
Beim Aufruf mit AvERPStart unter einem Win2000-Client und Anmeldung kommt 3x die Fehlermeldung
ISC Fehlermeldung: 335544343

ISC Fehlermeldung:
invalid request BLR at offset 162
function ABS is not defined
Danach erscheint zwar das AvERP-Fenster jedoch nur mit der Menüleiste und der Eintrag "Hauptmenü" und Untereintrag "Muster". Offenbar besteht zwar eine Verbindung zur averp.gdb jedoch können die UDF-Funktionen nicht korrekt aufgerufen werden. Die Pfade zur Datenbank auf dem Server stimmen. Per IBExpert kann ebenfalls eine Verbindung hergestelt werden.

Die AvERPConnect.cfg lautet:
DATENBANK=AvERP=192.168.0.4:/usr/interbase/averp/averp.gdb;

*Automatisches Login
AUTOUSER=SYSDBA
AUTOPASS=masterkey
AUTOROLE=ADMINISTRATOR

*Eintrag bei Netzwerkinstallation (bitte die Werte in eckigen Klammern mit den entsprechenden Werten ersetzen):
*DATENBANK=[ALIAS]=[SERVERNAME]:[DATENBANKPFAD AUS SICHT DES SERVERS];

*Einträge für den AvERPJobServer und AvERPShutdown (wenn benötigt, bitte die "*" entfernen)
*DATENBANKPFAD=/usr/interbase/averp/averp.gdb
*SERVER=127.0.0.1
*PROTOKOLL=TCP_IP
*ROLE=Administrator
Wie kann ich das ans laufen bekommen?
Antworten