Linqpad 6 Oracle via EF Core
Hi all,
I'm trying to get my new Linqpad 6 connected to an oracle database using the new native EF core behaviour, and having some issues.
I *can* connect as SYSDBA and see all the SYS tables. That means it's not plumbing specifically - the port, service, and so on all work and allow me to correctly access the DB. I can also log in and connect using my application credentials.
However if i try to access any tables in my application schema (in either case) I get nothing. The table browser treeview says ...loading... for a few seconds then just ends. I presume it either cannot find any tables, or there is an unsupported or broken table/something in my schema.
I'm wondering how i can best debug this process? how do i see logs, errors, issues etc in the "....loading..." phase of enumerating all the tables in my database?
my scenario: Oracle running in local docker container hence connecting on localhost:15XX. service name of foo.mycompany.com sid of foo. user data schema of FOO_APPDATA
Cheers!
-d
I'm trying to get my new Linqpad 6 connected to an oracle database using the new native EF core behaviour, and having some issues.
I *can* connect as SYSDBA and see all the SYS tables. That means it's not plumbing specifically - the port, service, and so on all work and allow me to correctly access the DB. I can also log in and connect using my application credentials.
However if i try to access any tables in my application schema (in either case) I get nothing. The table browser treeview says ...loading... for a few seconds then just ends. I presume it either cannot find any tables, or there is an unsupported or broken table/something in my schema.
I'm wondering how i can best debug this process? how do i see logs, errors, issues etc in the "....loading..." phase of enumerating all the tables in my database?
my scenario: Oracle running in local docker container hence connecting on localhost:15XX. service name of foo.mycompany.com sid of foo. user data schema of FOO_APPDATA
Cheers!
-d
Comments
Does it display your schema?
@JoeAlbahari 's SQL query returns results for the 2nd & 3rd query, but 0 rows for the first.
Edit: I *can* see some tables in the SYS schema, same as @dmeeze
In the meantime I'm running 5 and 6 side by side - 5 for Oracle and 6 for net core stuff. I will keep an eye on any developments.
Thanks
http://share.linqpad.net/t7hwq2.linq
You'll need to change the query's connection to your Oracle connection.
It should display a list of tables and their columns. Can you tell me what you get? (And if you don't get the tables you expect, can you determine what's causing this in the code?)
When run in linqpad 6 under the suspect connection, although linqpad only displays 4 tables in the connection tree, the query returns 13. There are also 13 tables returned in linqpad 5 connection tree using the IQ driver and same oracle connection information. The thing that I notice is that in your query results there is a column "HasKey" which is true only for the 4 tables showing up in the tree, so perhaps that column is influencing what is displayed. There is nothing else in the columns that differentiate those tables from the ones that are not displayed that I can tell.
Additionally, in the linqpad 5 using the IQ drivers, I receive back many Views from this connection as well. I do not get back any views using your script (which may be expected), nor in this tree in linqpad 6.
Maybe that gives you some clues. Let me know if there is anything else I can check and I appreciate you time.
Oracle are planning to support EF Core 3 in the future, which doesn't have that limitation:
https://community.oracle.com/thread/4286326
In the meantime, the workaround is to use LINQPad 5 which uses the IQ driver and DevArt connectors.