Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Issue with function name quoting when mapping dbfunction to function in package

Andrew MoskevitzAug 5 2020 — edited Aug 7 2020

I am submitting this bug here as suggested in this blog post
https://medium.com/@alex.keh/oracle-ef-core-3-1-beta-2-now-available-254d306ff875
We are trying to map a dbfunction using the code below

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
            modelBuilder.HasDbFunction(typeof(DatabaseFunctions).GetMethod(nameof(DatabaseFunctions.GetNameId))).HasSchema("DBM").HasName("DBM_PKG.GETNAMEID");
}


this generates the error

ORA-00904: "DBM"."DBM_PKG.GETNAMEID": invalid identifier

as you can see it puts the quotes around the package name plus the function name, not each individually.
I have tried it several different ways to attempt to get it to work to no success

ORA-00904: "DBM.DBM_PKG"."GETNAMEID": invalid identifier

I have tried including the middle quotes in the name ,"DBM_PKG\".\"GETNAMEID but that results in

ORA-03001: unimplemented feature

an examination of the sql shows this attempt is generating

"DBM"."DBM_PKG"".""GETNAMEID"() 

The EF6 provider saw the . in the function name and correctly generated the quoting.

I would hope this can be fixed, either by detecting the package.functionname in the name, or by providing an additional .HasPackageName method on the DbFunctionBuilder, or some other method.

As a temporary workaround I created a wrapper function that is not in a package DBM.GETNAMEID, but doing that defeats the point of packages.

if there is a way to do this already that does not involve intercepting the generated SQL, then it is not obvious how to do so.

This post has been answered by Alex Keh-Oracle on Aug 5 2020
Jump to Answer

Comments

843799
..try ask on another, "more officiall" Java3D forum:

[http://forums.java.net/jive/forum.jspa?forumID=70]

843799
neblaz wrote:
Does anybody knows, how Java 3D will develop in the near future?
Not at all I regret,

[http://forums.java.net/jive/thread.jspa?threadID=36022&tstart=315]

Your best option if you want 3D on your desktop is JOGL.

[http://jogamp.org/jogl/www/]

What's missing is Oracle's official approval and support. It would cost so little and mean so much so I hope they'll step forward and show responsibility and leadership.
843799
Why do people keep talking about the demise of java3d? It WAS on hold but it's still actively developed as evidenced by a 1.6 pre-release (last one dated a week ago).

Also, your solution to use JOGL doesn't answer the question. He wanted to know about an alternative scene graph engine. JOGL is a low level API around OpenGL, Not the same thing.

So I'll ask - is there an alternative scene graph engine out there? One that can run fine on mac, windows and linux?
843799
SproketBoy wrote:
So I'll ask - is there an alternative scene graph engine out there? One that can run fine on mac, windows and linux?
Why do you ask that for if you're so happy with Java3D?

I'm reluctant to give any alternatives to Java3D because I think the best option is Jogl as I said. But okay you have Aviatrix3D and JMonkey which I find the most promising.
843799
Ardor3D might be worth checking out.
843799
Thanks. That's interesting.
1 - 6

Post Details

Added on Aug 5 2020
2 comments
596 views