Solved TD-3949: Calls to procedures does not work

Post found bugs and possible workarounds.
Jean-Marc Gemperle

Re: TD-3949: Calls to procedures does not work

Post by Jean-Marc Gemperle » 01 Nov 2007, 14:50

Hi Vlad,



Yes I let you know



JM

Jean-Marc Gemperle

Re: TD-3949: Calls to procedures does not work

Post by Jean-Marc Gemperle » 02 Nov 2007, 10:21

Hi Valdimir,



Yes I got your testcase and could see that SalTblDoUpdate() along simple detelte still cause ROWID issues. I escalated that issue.



Jean-Marc

-tommi
Finland
Posts: 53
Joined: 03 May 2017, 08:00
Location: Finland

Re: TD-3949: Calls to procedures does not work

Post by -tommi » 09 Apr 2008, 08:02

Is this bug fixed in SP2?

I'm trying to use SqlPlSqlCommand, but it is not working.

Tried the same example as above (native router) and other real calls in opur software also:
Set lsSql = "DBMS_APPLICATION_INFO.SET_MODULE(psModuleName,psAction)"
If SqlPLSQLCommand(phSql,lsSql)

Will get ORA-24328 or ORA-24323 every time.
Works fine with SqlORAxx -commands.

There are like hundreds of calls to SqlPlsqlCommand in our software.

-tommi

caa

Re: TD-3949: Calls to procedures does not work

Post by caa » 09 Apr 2008, 14:26

Unfortunately, TD-3948 did not make it in the service pack. However, there were some internal indications that this issue no longer was reproducible with later builds. We'll retest today.

-tommi
Finland
Posts: 53
Joined: 03 May 2017, 08:00
Location: Finland

Re: TD-3949: Calls to procedures does not work

Post by -tommi » 02 Jun 2008, 08:42

Bug TD-3949 SqlPLSQLCommand() returns errors ORA-04043 and ORA-24323 when stored procedure is not in the same schema

This is not fixed when using native router in SP3.

Tried the same repro case as before:

Set Sql = "DBMS_APPLICATION_INFO.SET_MODULE('TEST','TOMMI')"
If SqlPLSQLCommand(hSql,Sql)

This Will still give ORA-04043 with native router in SP3.

Is there anyone who gets this to work?
If so, could you tell me what versions/settings you use.


-tommi

-tommi
Finland
Posts: 53
Joined: 03 May 2017, 08:00
Location: Finland

Re: TD-3949: Calls to procedures does not work

Post by -tommi » 02 Jun 2008, 08:49

Also found another problem with SqlPLSQLCommand.

If the procedure is in the sam schema I will sometimes get strange error:
String too long: 2214
Reason: Attempting to concatenate two strings and the resulting string is greater than 254 characters.
Remedy: Correct the SQL statement concatenation.

All parameters are 20 characters or less. No concatenation is used in the call.
Tried also with long strings, but no effect.
This will not happen when using SqlOraPLSQLExecute.
I can try to get some repro case if needed.

Changing to SqlOraPLSQLExecute-command is not an option for us. There are hundreds of calls to SqlPLSQLCommand in our code.

-tommi

Jean-Marc Gemperle

Re: TD-3949: Calls to procedures does not work

Post by Jean-Marc Gemperle » 02 Jun 2008, 13:10

Hi tommi
if the procedure is in the sam schema I will sometimes get strange error:
So it is random right, and if not in the SAME schma you do not see the problem, right?
I would not mind to try it, but it is the "sometimes" here that makes me hesitant and you proposition to send us somthing is surely welcome in this case.

Would you mind also to create a new thread for this issue as this one is quite long.

Thanks

JM

-tommi
Finland
Posts: 53
Joined: 03 May 2017, 08:00
Location: Finland

Re: TD-3949: Calls to procedures does not work

Post by -tommi » 03 Jun 2008, 05:34

If not in same schema, it will give that previous error that should already be fixed in sp3:
TD-3949 SqlPLSQLCommand() returns errors ORA-04043 and ORA-24323 when stored procedure is not in the same schema.

I will try to get an example and start a new thread.

-tommi

Jean-Marc Gemperle

Re: TD-3949: Calls to procedures does not work

Post by Jean-Marc Gemperle » 03 Jun 2008, 16:15

So you are saying that if not in the SAME SCHEMA you see ORA-04043 and ORA-24323 and this with the SP3 right? this should be fixed in the SP3 but you MUST FULLY qualify your call when using SqlPLSQLCommand. If you do that and there is still that same problem we must look at it.

Thanks for offering an example.

JM

-tommi
Finland
Posts: 53
Joined: 03 May 2017, 08:00
Location: Finland

Re: TD-3949: Calls to procedures does not work

Post by -tommi » 04 Jun 2008, 05:38

If I use SYS. -notation, it works fine.

Set Sql = "SYS.DBMS_APPLICATION_INFO.SET_MODULE('TEST','TOMMI')"
Call SqlPLSQLCommand(hSql,Sql)

Strange thing is that when using SqlOraPLSQLPrepare/Execute it works without SYS. -prefix.

If this is how it should work, I think we can live with it. Not too many calls to DMBS-procedures.
It would be good to mention differences of SqlOraPLSQLPrepare and SqlPLSQLCommand in documentation.

-tommi

icekiz

Re: TD-3949: Calls to procedures does not work

Post by icekiz » 04 Jun 2008, 22:51

I do not think this is fixed correctly.
We used to call package function WITHOUT FULL qualify and did worked fine previous CTD.

Example

Our existing code tested with sp3.
SqlPLSQLCommand( SQLManager.GetSqlWorking (), "cnst.set_version_text( '" || VERSION_TEXT || "' )" )
--ERROR appears - ORA-04043: object xxx_cnst does not exist.

Using fully qualify with CCC prefix then it works with sp3.
SqlPLSQLCommand( SQLManager.GetSqlWorking (), "CCC.cnst.set_version_text( '" || VERSION_TEXT || "' )" )

This is the very serious issue for us because it will impact the release and testing process of whole system.
Could you please let us know when this issue could be fixed?

Paul Lee :(

Return to “Bug Reports”

Who is online

Users browsing this forum: [Ccbot] and 0 guests