Fragensteller
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
- Typ geändert Bogdan Petru Roiu Dienstag, 25. Oktober 2011 13:20 Diskussion
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. -
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. -
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
-
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 -
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. -
-
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?
-
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. -
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 :-)
-
Hallo Bogdan,
Bogdan Petru Roiu wrote:
'3 Sekunden warten
Sleep 30000Das 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 -
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. -
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. -
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. -
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 ...
-
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.aspxServus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/ -
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