-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Cannot connect to Oracle database with NNE enabled #12596
Comments
I am willing to work on a pull request for this, but will probably need some help figuring out the best approach. I was thinking of another pydantic field in the oracle source recipe, like I can probably figure that out in the Oracle source file. However, I'm not sure what file the engine is created in, so could use advice on that. |
…acle client library location (datahub-project#12596)
…acle client library location (datahub-project#12596)
…acle client library location (datahub-project#12596)
Hello @dougbot01 , we were investigating the same issue and we agree with your investigation. This was probably introduced in #11607 with the replacement of Thanks for working on that! |
…acle client library location (datahub-project#12596)
Closing this issue as code was merged into master |
Describe the bug
When connecting to Oracle database, an exception is thrown:
The page referencing the error says this is common if the database has Native Network Encryption (NNE) enabled.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
There should be an option to enable thick mode as described in python-oracledb documentation
Screenshots
N/A
Desktop (please complete the following information):
Additional context
At first, I thought I might be able to enable thick mode, using the "options" setting in the recipe. However, enabling thick mode in this way only appears to be an option with sqlalchemy 2.0. Since the current version of datahub is using sqlalchemy 1.4, I believe an additional option is required in the recipe to enable thick_mode by making a call to
oracledb.init_oracle_client(lib_dir="\path\to\oracle\client")
before the connection is established.This doesn't appear to be documented in the sqlalchemy 1.4, but I have tested it on my local machine and found that this works. I found the code for this in a blog article, and see similar code to use oracledb in sqlalchemy 1.4 within the datahub source here.
The text was updated successfully, but these errors were encountered: