Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RH not running against Oracle DBs on Linux Docker containers #416

Open
ninjabadgerpirate opened this issue Aug 12, 2020 · 5 comments
Open
Labels
Oracle specific Issues specific to Oracle provider

Comments

@ninjabadgerpirate
Copy link

ninjabadgerpirate commented Aug 12, 2020

Hello, I have a Docker image running on a Ubuntu Linux Container where I have installed DotNetCore 2.1, Roundhouse and the Oracle client tools for Linux x64 systems (as mentioned in the wiki here) however whenever I run the rh command:

rh /cs="SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=51521))(CONNECT_DATA=(SERVICE_NAME=xid)));User Id=SYSTEM;Password=***" /csa="SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=51521))(CONNECT_DATA=(SERVICE_NAME=xid)));User Id=SYSTEM;Password=***" /dt="oracle"

I get the following error:

System.NullReferenceException: A type could not be created from the object you passed. "roundhouse.databases.oracle.OracleDatabase, roundhouse.databases.oracle" resolves to null.

Could you tell me if there's a specific version of the Oracle Client tools that is expected? Or if there is some missing configuration or Environment variable that I need to provide? Unfortunately the wiki is not very clear on this point.
RoundhouseOracleProject.zip

@erikbra
Copy link
Member

erikbra commented Oct 4, 2020

Hi, @ninjabadgerpirate , sorry for the issues when running against Oracle. That said, we do have a lot of issues on Oracle, and we are running with very old Oracle drivers. We have an issue from 2015 on converting to the managed Oracle provider, but no one has fixed it since then (#171 )

The docker image is based on Linux and .net core, and the oracle provider does not, unfortunately, in its current form, work on anything else than Windows.

I have very little experience with Oracle the latest 15 years, so testing of this migration would be a bit lacking. So, to be frank, we are dependent on someone with Oracle competence stepping up and pulling the Oracle implementation forward technology-wise.

This is the mixed blessing of Open source, I'm afraid. Nothing gets done if nobody does it. And, I, as maintainer, don't have the time and resources to solve everything. Collaborative effort is a prerequisite.

@erikbra erikbra added the Oracle specific Issues specific to Oracle provider label Oct 4, 2020
@Zun1k
Copy link

Zun1k commented Jul 15, 2021

Hi, I tried to test it over oracle v21 packages, but still same problem.

A type could not be created from the object you passed. "roundhouse.databases.oracle.OracleDatabase, roundhouse.databases.oracle" resolves to null. System.NullReferenceException: A type could not be created from the object you passed. "roundhouse.databases.oracle.OracleDatabase, roundhouse.databases.oracle" resolves to null. at roundhouse.infrastructure.loaders.DefaultInstanceCreator.create_object_from_string_type(String object_to_create) in C:\projects\roundhouse\product\roundhouse.core\infrastructure\loaders\DefaultInstanceCreator.cs:line 29 at roundhouse.infrastructure.loaders.DefaultInstanceCreator.create_object_from_string_type[T](String object_to_create) in C:\projects\roundhouse\product\roundhouse.core\infrastructure\loaders\DefaultInstanceCreator.cs:line 19 at roundhouse.infrastructure.app.builders.DatabaseBuilder.build(FileSystemAccess file_system, ConfigurationPropertyHolder configuration_property_holder) in C:\projects\roundhouse\product\roundhouse.core\infrastructure.app\builders\DatabaseBuilder.cs:line 32 at roundhouse.infrastructure.app.ApplicationConfiguraton.build_items_for_container(ConfigurationPropertyHolder configuration_property_holder) in C:\projects\roundhouse\product\roundhouse.core\infrastructure.app\ApplicationConfiguraton.cs:line 174 at roundhouse.infrastructure.app.ApplicationConfiguraton.build_the_container(ConfigurationPropertyHolder configuration_property_holder) in C:\projects\roundhouse\product\roundhouse.core\infrastructure.app\ApplicationConfiguraton.cs:line 159 at roundhouse.console.Program.set_up_configuration_and_build_the_container(String[] args, Mode mode) in C:\projects\roundhouse\product\roundhouse.console\Program.cs:line 103 at roundhouse.console.Program.Main(String[] args) in C:\projects\roundhouse\product\roundhouse.console\Program.cs:line 64

problematic line :)

database_to_migrate = DefaultInstanceCreator.create_object_from_string_type<Database>(database_type + ", " + merge_assembly_name);

Did anybody solve this somehow?
Thx

@erikbra
Copy link
Member

erikbra commented Nov 28, 2021

Hi, @ninjabadgerpirate - could you please check out if my reboot of RoundhousE, called grate, solved this issue? It uses much newer Oracle libraries.

It should be a more-or-less drop-in replacement to RoundhousE: https://erikbra.github.io/grate/

@ninjabadgerpirate
Copy link
Author

Glad to hear about Grate. I will definitely give it a try and let you know what I find.

@erikbra
Copy link
Member

erikbra commented Nov 30, 2021

Please do, and do get back to me on any Oracle issues, if you still use Oracle, as the Oracle implementation is not tested very thoroughly, as I don't use Oracle on a day-to-day basis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Oracle specific Issues specific to Oracle provider
Projects
None yet
Development

No branches or pull requests

3 participants