Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Laufzeitfehler bei ODBC Zugriff auf Oracle Datenbank mit VBA

Mitglied: firsty78

firsty78 (Level 1) - Jetzt verbinden

10.04.2008, aktualisiert 16.04.2008, 12046 Aufrufe, 11 Kommentare

Hallo zusammen,

ich das Problem, dass ich von VBA einen Laufzeitfehler gemeldet bekomme.

Folgende Fehlermeldung:

"Laufzeitfehler: '-2147217865 (80040e37)': Automatisierungsfehler"

b1ff2c3bf733d7e1ca25283df75591c0-lzf - Klicke auf das Bild, um es zu vergrößern

Das Ganze passiert beim Aufrufen eines SQL Statements. Folgenden Code verwende ich:

Set cnOra = New ADODB.Connection
Set rsOra = New ADODB.Recordset


db_name = "READ_ONLY" '
UserName = "USER"
Password = "PW"

Statistikwerte_Monat = "E.Monate_" & IntMonat + 12

' Alle Monatswerte Umsatz, Absatz (UAK, ABAK), Sachbearbeiter, USCHL

StrSelect = _
"Select " _
& "E.Datenfelder_1 ArtNr, E.Datenfelder_2 KdNr, A.Sachbearbeiter SB, A.Uschl US, E.Satzart SA, A.Sachbereich SachB, " _
& Statistikwerte_Monat & " AktMon " _
& "from Infor.relEs E left join Infor.relAc A on E.Datenfelder_1 = A.MNr " _
& "where E.Satzart in ('UAK', 'ABAK')" _
& "and " & Statistikwerte_Monat & " > 0"

cnOra.Open "DSN=" + db_name + ";UID=" + UserName + ";PWD=" + Password + ";"
rsOra.CursorLocation = adUseServer

rsOra.Open StrSelect, cnOra, adOpenForwardOnly

Die Fehlermeldung erscheint beim Ausführen der letzten Zeile.

Weitere Info: der Benutzer "USER" ist nicht Inhaber des Schemas. Benutze ich den User des Schemas, dann wird der Code problemlos abgearbeitet.

Kann das vielleicht an dem Treiber liegen? Für den "USER" nutze ich den MS ODBC Treiber für Oracle.

Vielen Dank für Eure Hilfe!

Grüße,
firsty
Mitglied: SvenGuenter
11.04.2008 um 15:31 Uhr
welche ora version und welcher treiber und mit welchem Tool setzt due das SQL ab ;o)

dann kann man evtl weiterhelfen.
Bitte warten ..
Mitglied: firsty78
11.04.2008 um 15:43 Uhr
Hallo Sven,

ich hoffe, dass ich mich beim Beantworten der Frage nicht vollständig blamiere.

Tool: VBA Excel
Treiber: Microsoft ODBC Treiber für Oracle (ist der Treiber, der standardmäßig bei Datenquellen (ODBC) vorhanden ist und installiert werden kann)
ora version: da muss ich leider passen, ich hab keine Ahnung. Vielleicht kannst Du kurz beschreiben, was Du meinst (bin noch nicht so lange im Geschäft !!)

Grüße,
firsty
Bitte warten ..
Mitglied: Biber
11.04.2008 um 16:38 Uhr
Moin firsty78,

@ora version:

Schick mal dieses Statement rüber:
01.
SELECT * FROM v$version	WHERE banner LIKE '%Oracle%'
Als ResultSet sollte eine Zeile zurückkommen mit etwas ähnlichem wie
Oracle Database 11i Internal Edition Release 11.2.0.0.9 - Beta

Diese Versionsnummer (7, 8 ,9,...) war gefragt.

Andere Frage: Das der Nicht-Owner-Benutzer die Leserechte auf beiden Tabellen hat ist gewährleistet?

ich frage nur der Vollständigkeit halber: ich tippe auch auf den M$-Oracle-Treiber.
Meistens ist das einzige, was der treibt, Anwendern Tränen in die Augen.

Grüße
Biber
Bitte warten ..
Mitglied: firsty78
11.04.2008 um 16:58 Uhr
Hallo Biber,

wo soll ich das ausführen? In VBA klappts nicht und in SQLPlus wills auch nicht so recht

Grüße
firsty
Bitte warten ..
Mitglied: Biber
11.04.2008 um 17:20 Uhr
ja wie was?
Wenn Du doch ohnehin SQlPlus hast, dann siehst Du doch beim Anmelden diese Versionsnummer....?
01.
Connected to:
02.
Oracle Database 11i Internal Edition Release 11.2.0.0.9 - Beta
03.
With the Partitioning, OLAP and Data Mining options
04.
 
05.
SQL> select * from v$version where banner like '%Ora%';
06.
 
07.
BANNER
08.
----------------------------------------------------------------
09.
Oracle Database 11i Internal Edition Release 11.2.0.0.9 - Beta
???

Mag sein, dass dieses VBA-"SQL" statt der Standard-Wildcard-Zeichen "%" die M$-Zeichen "*" haben will.
Aber ein "select * from v$version" sollte IMMER und für jeden User funktionieren.

Grüße
Biber
Bitte warten ..
Mitglied: firsty78
11.04.2008 um 17:59 Uhr
Na ok, bei mir kommt Versionsnummer 9.2.0.6.0
Bitte warten ..
Mitglied: Biber
11.04.2008 um 18:12 Uhr
Nächste Frage,

wenn Du SQL-Plus hast, dann hast Du doch wohl auch den ganzen Oracle-Client installiert.
Und damit doch den (vermutlich) Instantclient-ODBC-Treiber von Oracle.
Kannst Du den mal ausprobieren? (Name steht unter "Verwaltung->ODBC-Verbindungen->System-DSN")

Grüße
Biber
Bitte warten ..
Mitglied: firsty78
14.04.2008 um 08:17 Uhr
den hab ich ausprobiert.

Da kommt die Fehlermeldung "Table or View does not exist"

Ich habe auch an das Userschema gedacht (damit hatte ich bereits in der Vergangenheit Probleme).

Beim Userschema habe ich als Trenner die Varianten "." und "_" probiert, also

...
from Infor.relEs E left join Infor.relAc A on E.Datenfelder_1 = A.MNr
...

bzw.
...
from Infor_relEs E left join Infor_relAc A on E.Datenfelder_1 = A.MNr
...

Ich blick da einfach nicht durch...
Bitte warten ..
Mitglied: Biber
14.04.2008 um 09:05 Uhr
Moin firsty78,

wir werden des Rätsels Lösung schon finden...
als Trenner die Varianten "." und "_" probiert,
Brauchst Du nicht probieren. Wenn "Trenner", dann ist es der Punkt, also SchemaName.Tabname.

Nochmal zur Sicherheit:
  • der ausführende User hat SELECT-Rechte auf beide Tabellen (oder Views)?
  • oder soll er über ein Synonym zugreifen? Dann braucht er die Rechte auf Views/Tabellen zusätzlich
  • weil Deine Datenbank den merkwürdigen Namen "READ_ONLY" trägt: hilft es vielleicht, falls Du beiden vorangegangenen Fragen mit einem entrüsteten "Selbstverständlich!" abschmettern konntest, wenn Du in Deinem VB-Zeugs noch folgendes einfügst bzw. änderst:
01.
'....
02.
Const adUseClient = 3
03.
 
04.
'---- LockTypeEnum Values ----
05.
Const adLockReadOnly = 1 ' Gilt später für den RS -->RS.LockType = adLockReadOnly 
06.
'...
07.
Const adModeRead = 1
08.
'....
09.
'########rsOra.CursorLocation = adUseServer
10.
cnOra.CursorLocation = adUseClient
11.
cnOra.Mode = adModeRead 
12.
 
13.
rsOra.CursorLocation = adUseClient
14.
rsOra.LockType = adLockReadOnly
15.
rsOra.Open StrSelect, cnOra, adOpenForwardOnly
16.
...
Ich denke nicht, dass sich Deine CursorLocation auf dem Server befindet.
Aber schaun wir mal...


Grüße
Biber
Bitte warten ..
Mitglied: firsty78
16.04.2008 um 14:30 Uhr
Hallo Biber,

habe die ganze Zeit nicht geantwortet, da ich intensiv auf Ursachenforschung gewesen bin.

Nach einem längeren Telefonat mit dem Infor Experten sind wir darauf gekommen, dass bei der Anlage dieses Benutzers teilweise keine SELECT-Rechte vergeben wurden - aus welchen Gründen auch immer, ist bis dato noch nicht ganz klar (Sollte Inforseitig eigentlich so sein).

Die Rechte haben wir jetzt vergeben und siehe da, es funktioniert.

Vielen Dank für Deine Tips. Alleine hätte ich bestimmt nicht in diese Richtung recherchiert.

Grüße,
firsty
Bitte warten ..
Mitglied: Biber
16.04.2008 um 17:49 Uhr
Moin firsty78,

siehst Du... Computerprobleme sind alle mit gesundem Menschenverstand zu lösen <grinz>.

Was noch offen ist (und ziemlich weit auf Deiner Prio-Liste hochgeschoben werden sollte):

Kläre mit Deinem Cheffe und den Infor-Hansels und -Gretels, wer denn nun (also wie viele Leute) die User-Administriererei machen kann/machen darf/machen soll.

Vor allem das ganz banale Einrichten/Anlegen von Usern und Granten von Rechten.
Das GRANTen von Rechten gehört sicherlich NICHT zu den Aufgaben, für die eine Software-Entwicklungsklitsche irgendwo hinter Wuppertal benötigt wird.

Wenn Du mit denen telefoniert hast, dann sitzen die wahrscheinlich nicht zwei Schreibtische weiter, sondern ZU WEIT WEG, um den normalen alltäglichen Wahns^H^H^H Ablauf bei Euch zu garantieren.

Lass Dir im erstem Schritt erstmal auf eine UserID Deiner Wahl (z.B. VorOrtAdmin) ein "GRANT ALL" incl "GRANT GRANT" auf die Datenbank(en) geben.

Und dann baust Du oder sonst ein Interessierter in Eurer Firma das Knowhow dazu auf.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Access DB: ODBC-Verbindung zu Datenbank fehlgeschlagen

Frage von potshockMicrosoft Office2 Kommentare

Guten Morgen, ich habe hier folgendes Problem: Eine Access Datenbank lässt sich nicht nutzen. Es erscheint die Fehlermeldung: ODBC-Verbindung ...

Verschlüsselung & Zertifikate

Zugriff auf mySQL-DB mit ODBC und SSL

Frage von Titan24Verschlüsselung & Zertifikate2 Kommentare

Ich möchte für einen Kunden sicher Daten von einer mySQL-DB via ODBC nur lesend abgreifen können. Da die Daten ...

Batch & Shell

Powershell - Zugriff auf Datenbank - Name ColumnHeader

gelöst Frage von internet2107Batch & Shell1 Kommentar

Ich greife mit einem Powershellscript auf eine Datenbank zu. Bisher nur lesend. Jedoch sollen nun auch Änderungen möglich sein. ...

VB for Applications

Per VBA über ODBC lokalen MSSQL verbinden (Windows 8, MSSQL 2008 Express)

Frage von thomas1972VB for Applications5 Kommentare

Hallo, ich versuche per VBA Tabellen in meine ACCESS DB zu laden. Leider komme ich hier nicht weiter, egal ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 1 TagiOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 2 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 4 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 4 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk33 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless23 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
Frage von Leo-leHosting & Housing22 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...