ORA-32036

 
 
 
I have a query that I wrote that uses temp tables in it: (simple example)

   with data as (select * from table1) select * from data, table1 where table1.id = data.id

The query runs quickly when I run it directly against Oracle, but when I try to call it through my website (developed in VS2005) I get the oracle error "ORA-32036: unsupported case for inlining of query name in WITH clause". I was able to work around this in VS2003 by using an oracle connection string that had distributed transactions turned off (DistribTx=0) but I am not able to use that now because of new policies at our company. I have also tried running the query in a stored proc and calling that from the site and I get the same error. Any suggestions?

 

 

 

BrinaD1's solution to disable distributed transactions worked for me, too. However, I'm using Oracle's ODP.NET 10.2 provider, so the connection string parameter is different. To disable distributed transactions for this provider:

Enilist=false

Example:

    <add name="MyConnectionString"
         connectionString="Data Source=TNSName;User ID=user;Password=password;Enlist=false"
         providerName="Oracle.DataAccess.Client"/>

It's beyond me how changes in the transaction context result in what looks like PL/SQL syntax error. Maybe the error is being misreported. Oracle is such a pain in butt!

posted @ 2008-07-23 18:56  gameoverboss  阅读(1206)  评论(0编辑  收藏  举报