die Abfrage ist bei mir so: execute prozedurname(param1, param2, ...);
auch bei "update tabelle set feld = 'wert' where schlussel = 'nr';" klappt
es z. B. nicht.
wenn jemand eine Idee hat, bin ich sehr dankbar.
Dina
>Hallo Leute,
>hat jemand schon mal eine gespeicherte Oracle - Prozedur(mit Parameter)
>aus einer Abfrage bzw. aus einer Funktion in Access erfolgreich aufgerufen?
>Das Recht zum Ausführen dieser Prozedur hat der Benutzer, trotzdem klappt es
>nicht.
>Es kommt immer der "Call faild" -Fehler , danach manchmal "Falscher
>SQL-Befehl"
>
>die Abfrage ist bei mir so: execute prozedurname(param1, param2, ...);
Na, wenn mir das nicht bekannt vorkommt ...
Aus irgendeinem Grund mochte unser ODBC-Treiber "Execute" nicht, sondern
erwartet statt dessen "Begin" und "End" außenrum.
>auch bei "update tabelle set feld = 'wert' where schlussel = 'nr';" klappt
>es z. B. nicht.
Da muß, glaube ich, das Semikolon am Schluß weg.
Ciao, Andre
<Spendierlaune on>
(Fehlerbehandlung ist rausgekürzt)
------------------ snip --------------------
Public Function Exec_Sql(Sql As String) As Long
Dim qdORA As QueryDef
' Eine gespeicherte Abfrage mit korrektem Connect-String
Set qdORA = CurrentDb.QueryDefs("qd_PassThrough_Generic")
qdORA.Sql = Sql
qdORA.Execute
Set qdORA = Nothing
End Function
'------------------------------------------------------------
' Exec_Proc
'
' Führt eine Stored Procedure aus.
' S enthält den Prozeduraufruf, z.B. "STZ_SUMMEN_DETAIL(122, 9, 1998)"
' Die Prozedur baut das begin..end darum.
'
'------------------------------------------------------------
Public Sub Exec_Proc(S As String)
Dim PlSql As String
PlSql = "Begin " & S & "; End;"
Exec_Sql PlSql
End Sub
Grüße,
Rolf Hefendehl
Dina Gabovitch schrieb in Nachricht <6sn221$f57$1...@news.cs.tu-berlin.de>...
>Hallo Leute,
>hat jemand schon mal eine gespeicherte Oracle - Prozedur(mit Parameter)
>aus einer Abfrage bzw. aus einer Funktion in Access erfolgreich aufgerufen?
>Das Recht zum Ausführen dieser Prozedur hat der Benutzer, trotzdem klappt
es
>nicht.
>Es kommt immer der "Call faild" -Fehler , danach manchmal "Falscher
>SQL-Befehl"
>
>die Abfrage ist bei mir so: execute prozedurname(param1, param2, ...);
>auch bei "update tabelle set feld = 'wert' where schlussel = 'nr';" klappt
>es z. B. nicht.
>
vielen Dank für "begin ...;end;"-Tip!!!
Jetzt funktioniert alles bestens.
Bei Abfragen hatte ich zwar komische Sachen beobachtet,
z.B. haben Auswahlabfragen funktioniert, wenn man
für die Verbindung "ODBC;" gespeichert hat und
das Passwort erst beim Aufruf eingegeben hat.
Sobald das Passwort mitabgespeichert war,
gab es Fehlermeldung. )-8
Ich bin dann auf die Idee gekommen, statt DBQ
DATABASE zu schreiben - dann war wieder alles OK. (-8
Jetzt erzeuge ich die Abfragen im Code und es gibt keine
Probleme mehr damit.
Also Danke noch mal und Tschüss
Dina
-----Ursprüngliche Nachricht-----
Von: Andre Goldmann <andre.g...@imbus.de>
Newsgroups: de.comp.datenbanken.ms-access
Datum: Freitag, 4. September 1998 14:35
Betreff: Re: A7-OracleDB, Aufruf gespeicherter Prozeduren aus
Code/PassThrough -Abfrage
>Na, wenn mir das nicht bekannt vorkommt ...
>Aus irgendeinem Grund mochte unser ODBC-Treiber "Execute" nicht, sondern
>erwartet statt dessen "Begin" und "End" außenrum.
......