Not familiar with Linq, but I'm a little confused by the fact that you are executing a query - you just paste the generated code into SQL * Plus, working with two databases, where can this be explained at least?
If you do this in SQL * Plus, do a show escape in each environment; I suspect that 9i will report escape "\" (hex 5c) , while 10g will report escape off . This may indicate that evacuation processing was previously configured in instance 9i, but not (presumably later) 10g.
If any of these aspects is still relevant, try running set escape \ in a 10g session and try the \\ version again. And in 9i, try to escape off and try a single version \ . Both should now work.
Assuming you're still with me, the next question is: why does 9i have this setting; probably a login.sql or glogin.sql file that automatically installs it. You may be able to remove this if it does not affect anything else to allow the generated code to work unchanged.
I do not think that it will matter if you are going to execute the code in another way; not sure if you just test and debug the generated code in SQL * Plus and end up executing it elsewhere (implicitly knowing Linq again), in which case this may be a temporary problem anyway.
I'm also not sure if you run away at all ...
source share