none
Access 2003 Fehler #2812, #201 / Ignorierung fehlender Tabelle/Funktion/Prozedur

    Allgemeine Diskussion

  • Hallo zusammen,

    Ein für Access 2003 geschriebenes Programm (MDE) funktionierte problemlos bis vor kurzer Zeit.

    Doch seit einiger Zeit erscheint bekommen manche Benutzer die Fehlermeldung

     

    ODBC-Aufruf fehlgeschlagen

    [Microsoft][ODBC SQL Server Driver][SQL Server]Die gespeicherte Prozedur 'XYZ' wurde nicht gefunden (#2812)

     

    oder diese hier

     

    ODBC-Aufruf fehlgeschlagen

    [Microsoft][ODBC SQL Server Driver][SQL Server]Die Prozedur oder Funktion 'xyz_name' erwartet den '@K_ID'-Parameter, der nicht bereitgestellt wurde. (#201)


     

    Der Code in Hintergrund

    Die Fehlermeldung ist verständlich, da der eigentlicher Code im Hintergrund Parameter bzw. Tabelle/Funktion/Prozedur enthält, welche beim Start nicht bereitgestellt ist. Erst bei der Laufzeit werden diese Werte richtig gesetzt.

    Bis vor kurzer Zeit hat dieser Code problemlos funktioniert. Access hat diesen falsche 'SQL Statement' ignoriert. Es scheint, als hätte ein Update der betroffenen Komponente das Problem ausgelöst. 

    Nun meine Frage, welche Komponente kann es sein? 

    Haben wir hier Microsoft Office Spezialisten, welche Informationen zu Bibliothek-Update haben?

     

    Weitere Infos;

    Server für ODBC Verbindung: SQL Server 2005

    Installierte Office Programme: Office 2007, Office 2003

    Client: Windows 7 x64


    Montag, 26. September 2011 08:42

Alle Antworten

  • Hallo Robie,

    bestens sollte man den Code, der die SQL Anweisungen ausführet, mit Error Handling versehen...

    Sonst gibt es ein Tool ROIScan (von Microsoft), das eine komplette Auflistung der Office Installationen erzeugt. Auf dieses Log kann man angucken was für Office Update und wann installiert wurde:

    http://gallery.technet.microsoft.com/scriptcenter/68b80aba-130d-4ad4-aa45-832b1ee49602

    Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Mittwoch, 28. September 2011 08:21
    Moderator
  • Hallo Robie,

    wie bist Du weitergekommen?

    Dank und viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 30. September 2011 12:24
    Moderator
  • Hallo Bogdan,

    Vielen Dank für den Script. Habe bei mir ausgeführt. 

    Das XML-Datei scheint schwierig zu sein für die Analyse. Gibt es ein Tool für XML-Datensatz vergleich? Ich hab die Technet Seite nicht vollständig gelesen ...

    Habe ein Termin nächsten Mittwoch mit diejenigen Personen, welche Probleme haben mit Access. Dort werde ich ausführen und vergleichen und Rückmeldung geben :)

     

    Grüsse

    Robie

    Freitag, 30. September 2011 13:07
  • Hallo,

    robie2011 wrote:

    [...]
    [Microsoft][ODBC SQL Server Driver][SQL Server]Die gespeicherte
    Prozedur 'XYZ' wurde nicht gefunden (#2812)
    [...]
    [Microsoft][ODBC SQL Server Driver][SQL Server]Die Prozedur oder
    Funktion 'xyz_name' erwartet den '@K_ID'-Parameter, der nicht
    bereitgestellt wurde. (#201)


    Die Fehlermeldung ist verständlich, da der eigentlicher Code im
    Hintergrund Parameter bzw. Tabelle/Funktion/Prozedur enthält, welche
    beim Start nicht bereitgestellt ist. Erst bei der Laufzeit werden diese
    Werte richtig gesetzt.

    Welches Ereignis fuellt die Parameter und welches loest die Prozedur aus?

    Bis vor kurzer Zeit hat dieser Code problemlos funktioniert. Access hat
    diesen falsche 'SQL Statement' ignoriert. Es scheint, als hätte ein
    Update der betroffenen Komponente das Problem ausgelöst. 

    Zeig mal das Statement, vielleicht kann man was ueberarbeiten.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Sonntag, 2. Oktober 2011 18:23
    Moderator
  • Hallo Robie,

    um zwei ROIScan Log Dateien zu vergleichen verwende ich Beyond Compare (http://www.scootersoftware.com/download.php).

    Man sollte mehrere Office Versionen auf dem gleichen Rechner mit Vorsicht genießen, denn es können Probleme auftreten: Informationen zur Verwendung der 2007 Office-Suites und -Programme auf einem Computer, auf dem eine andere Office-Version ausgeführt wird

    VG/Bogdan

     


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Dienstag, 4. Oktober 2011 09:52
    Moderator
  • Vielen Dank für dein Tipp.

    Die Sortierung mit BeyondCompare hat nicht ganz funktioniert. Deshalb ist Vergleich schwierig.

    Die *.Log-Datei sieht schon viel hilfreicher aus. Ich werde heute die Analyse durchführen und hier wieder melden :)

    Mittwoch, 5. Oktober 2011 11:28
  • Ich konnte scannen ... 

    Es hat viel differenzen ... der funktionierende Rechner hat viele Sicherheitsupdates ...

    Ich versuche es etwas nachzubauen ...

     

    Nebenbei ... Etwas Interessantes habe ich festgestellt;

    Baut man ein MessageBox in die Form Prozedur; D.h., es soll ein MesageBox soll vor richtige Codeausführung angezeigt werden ... 

    So erscheint der Fehler nicht mehr ...

    Es scheint, als deute dass auf ein Zeitproblem. Denn bei der Ausgabe von MsgBox wird die Prozedur paussiert.

    Könnte es auch ein Problem bei der Netzwerkkomponente diese Fehlermeldung verursachen?

    Donnerstag, 6. Oktober 2011 17:17
  • Hallo Robie,
    ich denke nicht dass die Netzwerkgeschwindigkeit etwas zu tun hat.
    Als Workaround könnte wahrscheinlich auch die Sleep Funktion gut wirken:
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    
    Sub FormProzedur()
        '...
        '3 Sekunden warten
        Sleep 30000
        '...
    End Sub
    

     
    Aber man braucht die Ursache zu finden… irgendeine Komponente ist dann nicht vollständig geladen… Kann man die Form-Prozedur posten?
     
    Grüße,
    Bogdan

    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 7. Oktober 2011 09:17
    Moderator
  • Hallo Bogdan,

    Ich meine, könnte dieses Problem nicht wegen Paketverlust in der TCP/IP Verkehr entstehen?

     

    Danke für den Tipp. Ich werde es den Entwickler weitergeben.

    Wir haben sehr viele Forms. Kann man die Standardprozedur überschreiben, damit nicht überall dieser Code eingebettet werden muss?

     

    Ich selbst hab den Code nicht, werde am Montag den Entwickler fragen :-)

    Freitag, 7. Oktober 2011 09:24
  • Hallo Bogdan,

    Bogdan Petru Roiu wrote:

        '3 Sekunden warten
        Sleep 30000

    Das sind 30 sec ;-)

    @robie,
    Neben Bogdans Hinweis auf Sleep koennte auch DoEvents, evtl. in einer
    Schleife helfen. Das Verhalten kommt dem einer eingebauten Msgbox naeher.

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Freitag, 7. Oktober 2011 11:55
    Moderator
  • Hallo Robie,

    Ich würde halt versuchen erst mal die ODBC Data Source zu löschen und neu zu erstellen.

    @Peter: Ich wollte halt sicher gehen J

    VGrüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Montag, 10. Oktober 2011 14:19
    Moderator
  • Danke für den Tipp. Diesen Mittwoch werde ich versuchen :)
    Montag, 17. Oktober 2011 14:26
  • Hallo Robie,
     
    wie bist Du weitergekommen?
     
    Dank und viele Grüße,
     
    Bogdan
    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Sonntag, 23. Oktober 2011 06:59
    Moderator
  • Dieser Thread wurde in Diskussion umgewandelt. Natürlich sind weitere Nachfragen / Beiträge möglich und selbstverständlich willkommen.

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Dienstag, 25. Oktober 2011 13:20
    Moderator
  • Hallo Bogdan,

    kannst Du mich mal per Email anschreiben.

    Danke.

    Gruß
    Gunter

    Dienstag, 25. Oktober 2011 14:32
    Moderator
  • Der Entwickler meint, dass die Korrektur im Code keine gute Idee ist. Da es zahlreich Forms existieren und der Aufwand für Korrektur in allen Forms zu gross ist.

    Wir haben versucht die Initialisierungs-Wert abzuändern zum Zahl '0'. Dann hat es keine Fehlermeldungen gegeben, aber andere Folgefehler.

     

    Die einfachste Lösung wäre, wenn der Rechner auf die selbe Konfiguration wie ein funktionierender gebracht werden kann. Doch das scheint wie Nadelsuche in einem Heuhaufen.

     

    Eine Bemerkung nebenbei ...

    Ich hab das Gefühl, dass Access 2007 mit Access 2003 nicht gut verträgt. Ist es aber einmal installiert, so bringt man Access 2007 nicht 100% weg von Rechner. Es werden immer irgendwelche DLLs und Registry Keys von Access 2007 auf dem Windows nach der Deinstallation weiterleben.

    Der Entwickler versucht bestimmte Forms anzupassen in dem er Initialisierungswerte modifiziert ... was er genau tut, kann ich zurzeit nicht sagen ... wir sind dran ...

    Dienstag, 25. Oktober 2011 14:41
  • Am 25.10.2011 schrieb robie2011:

    Ich hab das Gefühl, dass Access 2007 mit Access 2003 nicht gut verträgt. Ist es aber einmal installiert, so bringt man Access 2007 nicht 100% weg von Rechner. Es werden immer irgendwelche DLLs und Registry Keys von Access 2007 auf dem Windows nach der Deinstallation weiterleben.

    Man kann Office 2007 rückstandsfrei entfernen, am besten an diese
    Anleitung halten.
    http://office-blog.net/post/Office-2007-vollstaendig-entfernen-und-erneut-installieren.aspx

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Dienstag, 25. Oktober 2011 19:10
  • Liebes Community,

    Herzlichen Dank, dass ihr versucht habt mir zu helfen. Mein Entwickler hat das Problem gelöst, in dem er andere Initialisierung-Werte eingegeben hat. 

    Werte, welche nicht aufgelöst werden müssen. So bringt Access keine Fehlermeldung und es funktioniert wunderbar. 

    Das Problem bestand nur bei 3 Formularen (von hunderten ...) . Nun hoffen wir, dass keine Fehlermeldung bei anderen Formularen ergibt.

    Wir können nicht noch lange Dinge ausprobieren, da es alles über der Fernwartung geschieht und eine Arbeitsblockade darstellt.

     

    Vielen Dank :)

    Liebe Grüsse

    Rob

    Mittwoch, 2. November 2011 10:38