URGENT : Metadata object does not exist

I can call this server side script from the SQL*Plus window and it run fine. However, in my script, it continually generates [Metadata object does not exist, Connector ‘Oracle8’, Method -Call-] error.

I tested by making up bogus procedure names both in and out of packages with the same result. When I tried the transaction to a different procedure on a different server (to ensure i coded it correctly) it ran fine. I’m COMPLETELY confused at where to look next. My gut instinct is that the connector on that server has problems “addressing” a procedure.

Here’s the script in full:

Dim Conn As New LCConnection (“oracle8”)

Dim Parms As New LCFieldList

Dim Result As New LCFieldList

Dim Parm As LCField

conn.Server = “dev”

conn.Userid = “username”

conn.Password = “password”

conn.Connect

conn.Procedure = “testscript”

conn.Fieldnames = “funds_available, pvc_msg”

Dim input_fieldlist As New LCFieldList

Dim output_parms As New LCFieldlist

Dim in_field_text As New LCField (1, LCTYPE_TEXT)

Dim funds_available As New LCField (1, LCTYPE_INT)

Dim pvc_message As New LCField (1, LCTYPE_TEXT)

Dim out As Double

Set in_field_text = input_fieldlist.Append (“pccid”, LCTYPE_TEXT)

in_field_text.Text = “02400”

out = conn.Call (input_fieldlist, 1, output_parms)

out = conn.Fetch (output_parms)

Set out1 = output_parms.GetField (1)

Set out2 = output_parms.GetField (2)

Print "Output parameter 1 is " & out1.Value(0)

Print "Output parameter 2 is " & out2.Text(0)

conn.Disconnect

End Sub

Its actual fully addressed name is apps.c_interface_pkg.c_status_of_funds

I’ve tried all variations of this. Like I said, if i put in a completely bogus name I get the same error as well, but running it in the SQL*Plus client runs beautifully.

Thanks for any comments/help you can provide. Running Domino 6.5 and attempting to connect to Oracle 9.2.0.1.

Subject: RE: URGENT : Metadata object does not exist

How you specify the procedure name in your script can make a difference. I see you have specified it as “testscript” when your fully qualified script name is “apps.c_interface_pkg.c_status_of_funds”. This makes me suspect that the code you are showing us is not the actual code that generates the error. :slight_smile:

Are you certain that the server is of a version compatible with the oracle8 connector?

What’s the fully qualified name of your test script that does work on a different server?

Trying to narrow down the problem, I notice that you have several differences between a script that you can call and a script that you can’t:

They are on different servers and databases, with different tables available to them.

The versions of Oracle are different (maybe).

The code in the procedures is different (maybe the error comes not from the Call but from something that happens inside the procedure).

The names of the procedures are different (do they contain different numbers of periods, perhaps?)

Other Oracle-specific differences that I don’t know enough to ask about, e.g. script compilation options.

To narrow down the cause of the problem, please apply the scientific method. Do experiments that try to reduce the number of differences between the working and the non-working case, to eliminate factors. Will your test script still work if it’s on the same server as the script that doesn’t work? Will your c_status_of_funds run if you put it on the server where you are successfully executing scripts? Will it run it you rename it to the same name as your test script?