Error NTX Index öffnen OrdListAdd Fehler 8999

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Bernd Reinhardt »

Hallo.
So wie es aktuell aussieht ist bei mir die Aktivitätskontrolle von Kaspersky das Problem.
Der normale Virenscanner, Firewall, Webscan usw. kann aktiv sein.

mfg
Bernd Reinhardt
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

ich habe jetzt wieder mal das Problem das sich
eine Index Datei nicht erstellen lässt, weil der Virenscanner dazwischen funkt.

Was kann ich tun (außer Zertifizierung) um das "Timimg" Problem zu umgehen ?

Code:

Code: Alles auswählen

 use (my_ziel) alias kdh exclusive new
clindex(my_ziel, my_ind1, 'kdnr')

procedure clindex

parameters datei, ntx, schluessel, lDeleKondition, cBedingung
DEFAULT lDeleKondition to NO  // Auch gel”schte S„tze im Index
DEFAULT cBedingung to " "
if !lDeleKondition
   if empty(cBedingung)
      index on &schluessel to &ntx
   else
      index on &schluessel to &ntx for &cBedingung
   endif
else
   if empty(cBedingung)
      index on &schluessel to &ntx for !deleted()
   else
      index on &schluessel to &ntx for !deleted() .and. &cBedingung
   endif
endif
return
Fehlermeldung:
Xbase++ Version : Xbase++ (R) Version 1.90.355
Betriebssystem : Windows Vista 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: S:\HKABR\DATA\HV210468\IHOME\kdihome.ntx
oError:canDefault : N
oError:canRetry : J
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Datenbank-Alias existiert nicht/ist ungltig
oError:filename :
oError:genCode : 66
oError:operation : OrdListAdd
oError:osCode : 0
oError:severity : 2
oError:subCode : 8021
oError:subSystem : BASE
oError:thread : 1
oError:tries : 1
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von HV_IMP(1865)
Aufgerufen von LE253(490)
Aufgerufen von (B)CREATEMENUSYSTEM(1433)
Aufgerufen von MAIN(533)
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

Nichts, außer die DBF, DBT, NTX und CDX von der Online-Überwachung (heuristik) und am Besten auch aus der normalen Suche auszuschließen.
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

Das habe ich, kann aber sein das auf dem Server auch ein Antiviren Programm aktiv ist..
Ich habe wenig Einfluss auf den Virenscanner bei den Kunden ;-)
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

Der Sinn eines Antiviren Programmes ist es, dass Anwendungsprogramme es nicht ändern können, somit hast du vom Programm aus keine Chance ein falsch eingestelltes Antiviren Programm zu umgehen 8)
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

Ich möchte das Antiren Programm nicht umgehen, sondern dem
INDEX ON
mehr Zeit geben bzw. den Fehler abzufangen und z.B. 5 mal probieren lassen.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von AUGE_OHR »

Koverhage hat geschrieben:

Code: Alles auswählen

 use (my_ziel) alias kdh exclusive new
clindex(my_ziel, my_ind1, 'kdnr')
oError:description : Datenbank-Alias existiert nicht/ist ungltig
Aufgerufen von HV_IMP(1865)
da du nach dem USE keine NETERR() Abfrage hast [-X
kannst du nicht sicher sein das die DBF geöffnet wurde und du einen Index erstellen kannst.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

OK neben dem erwähnten NETERR(), das unbedingt abgefragt werden MUSS !
Kannst du entweder die globale Fehlerbehandlung um den obenen genannten Fehler ergänzen und es mehrfach versuchen oder eine lokale Fehlerbehandlung einführen:

Siehe dazu das 1. Beispiel von ErrorBlock() - Codeblock definieren, der bei einem Laufzeitfehler ausgeführt wird
oder das zweite von BEGIN SEQUENCE - Kontrollstruktur für BREAK oder Break() einleiten

Ich nutze z.B. diese Funktion BEVOR ich die geünschte Datei öffne bzw. das Fenster anzeige:

Code: Alles auswählen

*-----------------------------------------------------------------------------
Function  IndexOK(cArt)  // Funktion liefert immer True, wenn die Indexdateien
                         // entweder vorhanden sind oder erzeugt werden k”nnen.
                         // Ob Indexdateien fehlerfrei sind, wird nicht geprft.
   local lFehler := .f.

   DEFAULT cArt to "MAIN"  // alle Hautindexe und Dateien prfen

   cArt := upper(cArt)

   do case
      case cArt = "MAIN"

         if ! file(DatenVerzeichnis()+"XYZ.DBF" )
            ErrBox({"Die Datei  XYZ.DBF  im Verzeichnis",;
                    DatenVerzeichnis(),;
                    "wurde nach dem Programmstart gel”scht.",;
                    "Dieser Fehler muá beseitigt werden um",;
                    "weiterarbeiten zu k”nnen."} )
            lFehler := .t.
         else
            if ! file(DatenVerzeichnis()+"XYZ1") .or. ;
               ! file(DatenVerzeichnis()+"XYZ2")
               use (DatenVerzeichnis()+"XYZ.DBF") EXCLUSIVE NEW alias INDEXOKMAIN
               if netErr()
                  ErrBox( NETZFEHLEREXCL, "Fehler beim ”ffnen: XYZ.DBF")
                  lFehler := .t.
               else
                  WaitBox( "Index auf XYZ.DBF erstellen ...",;
                           {|| INDEXOKMAIN->(DbCreateIndex( (DatenVerzeichnis()+"XYZ.NTX") , ;
                                                            "XYZ" , ;
                                                            {|| field->XYZ } ) ) } )
*                  INDEX ON field->XYZ1 TO      (DatenVerzeichnis()+"XYZ1")
*                  INDEX ON field->XYZ2 TO      (DatenVerzeichnis()+"XYZ2")
                  close INDEXOKMAIN         //  schlieáen nicht vergessen !
               endif
            endif
         endif
      otherwise
         ErrBox( {"IndexOK wurde eine falsche Art bergeben.!,",;
                  "Diesen Programmfehler bitte melden !",;
                  "cArt="+cArt } )
         lFehler := .t.
   endcase

return ! lFehler
Nach der Funktion ist entweder der Index vorhanden oder sie gibt .f. zurück, dann bleibt bei mir das Fenster zu.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

Ach JA, man MUSS (oder SOLLTE ?) die DBF exclusive öffnen, bevor man indiziert !
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

Echt ?
was mache ich hier ?
use (my_ziel) alias kdh exclusive new
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

Hubert,

* INDEX ON field->XYZ1 TO (DatenVerzeichnis()+"XYZ1")

es wird doch in Deinem Code keine Index Datei erstellt, denn wenn Index on fehlschlägt verabschiedet sich die Anwendung mit einer Error.log, z.B.
die von mir zitierte.
Ich kann das mit begin sequence / end sequence abfangen, dann bekomme ich keine Log Datei, aber sonst nützt mir das nicht viel.
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

OK, ich hatte dein EXCLUSIVE am Ende übersehen ... ;-)

aber natürlich generiert meine Funktion einen Index, hier:

Code: Alles auswählen

WaitBox( "Index auf XYZ.DBF erstellen ...", {|| INDEXOKMAIN->(DbCreateIndex( (DatenVerzeichnis()+"XYZ.NTX"), "XYZ" , {|| field->XYZ } ) ) } )
WaitBox() zeigt eine Infobox an, bis dbCreateIndex() fertig ist ... aber ich habe ja auch kein Problem mit dem Virenscanner ;-)

das Abfangen mit einer Fehlerbehandlung könnte z.B. nach jedem Fehler 1 Sekunden warten und das insgesamt 5 mal, sodass dein Anwendungsprogramm OHNE Fehlermeldung 5 Versuche machen würde und erst danach z.B. eine MsgBox() vor QUIT anzeigt (falls ohne Daten nichts anzufangen ist).

Du hattest doch gefragt was du probieren kannst ... hoffen dass einer der 5 Versuche vom Virenscanner nicht erkannt wird ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von AUGE_OHR »

Koverhage hat geschrieben:

Code: Alles auswählen

use (my_ziel) alias kdh exclusive new
du versuchst zwar die DBF EXCLUSIVE zu öffnen ... aber es könnte auch eine "Verzögerung" dabei geben.
solange du nicht mit NETERR() geprüft hast darfst du nicht mit dem INDEX ON anfangen weil nicht sicher ist das die DBF ( Alias ) überhaupt aktive ist.

p.s. es gibt einen Registry "Hotfix" wenn eine DBF "langsam" öffnet http://support.microsoft.com/kb/150384/de
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von Koverhage »

Das gilt doch nur für sehr alte Systeme
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Error NTX Index öffnen OrdListAdd Fehler 8999

Beitrag von brandelh »

Ein USE Fehler => NETERR() kann bei jedem System auftreten, wenn die Datei von einem anderen Programm geöffnet ist.
Der Name nennt zwar die Hauptursache (gesharte Nutzung im Netzwerk) aber auch das gleiche Programm auf dem gleichen Rechner muss das abfangen.

Das andere Programm kann auch ein Virenscanner sein ;-)
Gruß
Hubert
Antworten