PDA

Vollständige Version anzeigen : Fehler trotz ODBC Eintrag


ise
07.06.2012, 08:10
Hallo allerseits,
Ich bin neu hier weil ich verzweifelt auf der Suche nach einem Problem bin und hoffe, dass jemand von euch mir einen Hint geben kann, wo der Fehler sonst noch liegen könnte.

Folgendes Szenario:
Wir haben eine Access DB für die Lizenzverwaltung, welche zusätzlich Kundeninformationen aus einer SQL-Datenbank auf einem Server bezieht. Die Lizenz Access DB liegt auf demselben Server.
Benutzer A hat Zugriff (Windows 7, Office 2010) jedoch nur von seinem Computer aus.
Neuer Benutzer B (Windows 7, Office 2010) hat trotz gleicher Rechte in der AD kein Zugriff auf die Datenbank.
Folgende Fehlermeldung wird jeweils angezeigt:
http://img5.fotos-hochladen.net/uploads/errorfdw3y5oc9b.png

Logischerweise fehlte der ODBC Eintrag. Exakt derselbe Eintrag vom User A für User B übernommen:
http://img5.fotos-hochladen.net/uploads/odbc3y8g9nkbw7.png

Ich habe die Verbindung natürlich getestet, welche, wie ihr seht, erfolgreich war:
http://img5.fotos-hochladen.net/uploads/erfolg0zm72blxji.png

Doch wenn ich die Lizenz DB öffnen möchte, kommt weiterhin die Fehlermeldung "ODBC Verbindung fehlgeschlagen".

Ich hab dasselbe von einem PC mit XP und Office 2010 getestet, jedoch ebenfalls ohne Erfolg.
Hat irgendjemand eine Idee woran das liegen könnte? Der Benutzer B kann über die Kundenverwaltungssoftware auf die Kundendatenbank zugreifen. Und die Lizenzdatenbank hat keine benutzerspezifische Zugriffseinschränkungen.

Vielen Dank für eure Hilfe! Ich bin für jeden Hinweis dankbar!
Gruss aus der Schweiz.
ise

ise
07.06.2012, 08:48
Möchte noch was anfügen, hab soeben was getestet:
Ich wollte mit der ODBC Ablaufverfolgung mal die ODBC Verbindung registrieren. Beim Öffnen der Lizenzdatenbank gibt es keinen Eintrag, es erscheint nur dieselbe Fehlermeldung wie oben erwähnt.

Wenn ich den ODBC Eintrag etwas abändere, gibt es im Log File Einträge. Ich habe den Server der DSN ohne \SQLEXPRESS eingetragen.
Eintrag im Log File:
...
LizenzDatenbank 1adc-584 EXIT SQLDriverConnectW with return code 100 (SQL_NO_DATA_FOUND)
HDBC 0x02B4E358
HWND 0x00190688
WCHAR * 0x72958B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x72958B34
SWORD -3
SWORD * 0x00000000
UWORD 3 <SQL_DRIVER_COMPLETE_REQUIRED>

LizenzDatenbank 1adc-584 ENTER SQLFreeConnect
HDBC 0x02B4E358
....

Logischerweise findet er die SQL Quelle nicht. Doch warum hab ich keine Log Einträge, wenn ich die DSN korrekt eintrage und dennoch eine Fehlermeldung kriege?

Ich bin verwirrt...

ise
07.06.2012, 09:54
Ich hab das Ganze auch von einem XP PC getestet mit ebenfalls Office 2010. Doch auch dort funktioniert das Ganze nicht.
Interessant ist, dass vom PC des Benutzers B die Verbindung bereits funktioniert hat, jedoch mit einem anderen Benutzer, welcher nun nicht mehr existiert...

Bin über jeden Hinweis und Idee wo der Fehler liegen könnte sehr dankbar...

ise

ise
07.06.2012, 13:20
Keiner, der irgendeine kleine Idee hat? Ich komme nicht mehr weiter... und die Sekretärin kann nicht arbeiten :-/

Wäre wirklich sehr dankbar!
Gruss
ise

maikek
07.06.2012, 14:00
Moin, und willkommen hier im Forum ;) .
Mit ODBC kenne ich mich nicht wirklich aus, aber du scheinst das Problem ja bereits eingekreist zu haben:
Interessant ist, dass vom PC des Benutzers B die Verbindung bereits funktioniert hat, jedoch mit einem anderen Benutzer, welcher nun nicht mehr existiert...
Wenn du dich auf diesem Rechner als Admin einloggst, klappt die Verbindung?
maike

ise
07.06.2012, 14:09
Moin, und willkommen hier im Forum ;) .
Mit ODBC kenne ich mich nicht wirklich aus, aber du scheinst das Problem ja bereits eingekreist zu haben:

Wenn du dich auf diesem Rechner als Admin einloggst, klappt die Verbindung?
maike
Ich hab mich mit einem der Domänen Admins eingeloggt und dieselben Einstellungen vorgenommen - jedoch ebenfalls erfolglos. Wie gesagt. An den Rechten sollte es nicht liegen, da der User B denselben Gruppen zugewiesen ist, wie der User A - und bei dem funktionierts...

Anne Berg
07.06.2012, 14:38
Hallo,

bekommst du evtl. noch weitere Informationen zu dem ODBC-Fehler, wenn du auf den Hilfe-Button gehst?

Wie stellst du denn die Verbindung zu den Tabellen innerhalb der Access-Anwendung her?
Greifst du mit UserID und Passwort zu? Ist die System-Datenquelle auf PC B vorhanden?
Hast du mal ausprobiert was passiert, wenn du die Access-Anwendung lokal ausführst?

ise
07.06.2012, 15:32
Moin, und willkommen hier im Forum ;) .
Mit ODBC kenne ich mich nicht wirklich aus, aber du scheinst das Problem ja bereits eingekreist zu haben:

Wenn du dich auf diesem Rechner als Admin einloggst, klappt die Verbindung?
maike

Hallo,

bekommst du evtl. noch weitere Informationen zu dem ODBC-Fehler, wenn du auf den Hilfe-Button gehst?

Wie stellst du denn die Verbindung zu den Tabellen innerhalb der Access-Anwendung her?
Greifst du mit UserID und Passwort zu? Ist die System-Datenquelle auf PC B vorhanden?
Hast du mal ausprobiert was passiert, wenn du die Access-Anwendung lokal ausführst?

Hallo Anne,
Weitere Informationen gibt es keine. Ausser dir hilft die Fehler Nr. 3151 weiter... Es steht nur man soll die Netzwerkverbindung überprüfen. Doch da bestehen keine Probleme.
Wie die Verbindung hergestellt wird, weiss ich leider nicht genau. Ich bin aber im Bild über einen Benutzer, welcher anscheinend benutzt werden sollte. Der Ersteller der DB ist leider nicht mehr bei uns - hab ihn aber schon angerufen und er konnte mir auch nicht weiterhelfen.
Habe soeben die AccessDB auf den Desktop kopiert und ausgeführt - dasselbe Resultat.
Das Notebook, auf welchem die Datenbank funktioniert, ist soeben wieder zurück vom Aussendienst. Ich werde mal schauen, ob ich dort noch Informationen her bekomme.

Gruss
ise

ise
07.06.2012, 16:06
War auf dem Computer, mit welchem die Verbindung funktioniert. Der einzige Unterschied war einen installierten SQL Native Client. Dieselbe Version hab ich nun ebenfalls auf dem Computer vom User B installiert. Doch auch darin liess sich der Fehler nicht finden.
Ich hab die Verbindung auf dem Client A ebenfalls aufgezeichnet...

LizenzDatenbank 1d9c-1dbc EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00000000003D7FD0
UWORD 6 <SQL_DRIVER_NAME>
PTR 0x00000000001222E0 [ 24] "SQLSRV32.DLL"
SWORD 200
SWORD * 0x00000000001222A0 (24)

LizenzDatenbank 1d9c-1dbc ENTER SQLGetInfoW
HDBC 0x00000000003D7FD0
UWORD 46 <SQL_TXN_CAPABLE>
PTR 0x0000000000121DE4
SWORD 2
SWORD * 0x0000000000121D70

LizenzDatenbank 1d9c-1dbc EXIT SQLGetInfoW with return code 0 (SQL_SUCCESS)
HDBC 0x00000000003D7FD0
UWORD 46 <SQL_TXN_CAPABLE>
PTR 0x0000000000121DE4 (2) <SQL_TC_ALL>
SWORD 2
SWORD * 0x0000000000121D70 (2)

LizenzDatenbank 1d9c-1dbc ENTER SQLGetInfoW
HDBC 0x00000000003D7FD0
UWORD 23 <SQL_CURSOR_COMMIT_BEHAVIOR>
PTR 0x0000000001D00EB0
SWORD 2
SWORD * 0x0000000000121D70

ise
07.06.2012, 17:11
Hab den "Fehler" gefunden. Komischerweise ist diese Einstellung bei User A nicht gemacht und es funktioniert trotzdem.
Ich musste bei der ODBC Einstellung die Auswahl SQL Benutzer verwenden auswählen. Danach konnte ich den sa User hinterlegen und somit funktionierte es. Aber wie gesagt, bei User A ist dies nicht so konfiguriert.

Danke trotzdem an die, welche sich meinem Problem angenommen haben.

Gruss
ise

Anne Berg
07.06.2012, 18:14
Ausser dir hilft die Fehler Nr. 3151 weiterDazu hätte ich schon gern die vollständige Fehlermeldung und nicht die nach deinem Gutdünken formulierte Zusammenfassung.

Ich denke, der springende Punkt ist, wie die Verbindung zur Datenbank hergestellt wird, aber dazu hast du ja leider nichts konkretes mitgeteilt. Du kannst nicht einfach das Access-Frontend starten und erwarten dass alles von selbst funktioniert. Auch halte ich den Einsatz einer Access-Anwendung im Netzwerk für keine gute Idee, das Frontend sollte lokal auf jedem Benutzer-PC ausgeführt werden.

Josef P.
07.06.2012, 22:08
Hallo!
Danach konnte ich den sa User hinterlegen und somit funktionierte es.
Wie praktisch ... dann können die "normalen" Benutzer auch gleich die Datenbank löschen. ;-)

mfg
Josef

Michael Bayer
09.08.2012, 09:28
Da haben wir doch den Salat. Dein benutzer A ist als benutzer im SQL Server angelegt. Mit al seinen Zugriffs Rechten. Entweder du legst einen Benutzer B im SQL Server an und weist ihm die selbe Rolle wie Benutzer A zu. oder du verwendest das selbe Login ín der SQL Server authentifizierung wie sich auch Benutzer A am SQL Server anmeldet. Aber auf GAR KEINEN Fall den SA User verwenden. Da kannst Deine Datenbank gleich selbst schreddern.

Andre.Heisig
09.08.2012, 09:57
Hallo!

Wie praktisch ... dann können die "normalen" Benutzer auch gleich die Datenbank löschen. ;-)

mfg
Josef


Solche "Umsatzbeschleuniger" ... ähm ... Benutzer hätt ich auch gerne ... ;-)