Comments (2)
I have the same problem. Oracle DB integration has some weak points:
-
It uses "SELECT name FROM v$database" query for testing connection. User need to have "GRANT SELECT ANY DICTIONARY TO user" for this query to work. Better solution imo is to use something like "select sys_context( 'userenv', 'current_schema' ) from dual" query.
-
Its possible to define schema for connection if you redefine property table_prefix in OracleDB class. I set it to read schema from self.config['schema'] if it exists in my local version. It could solve 90% problems with schemas. But most correct solution of course is to use schema from table definition.
-
For Oracle versions prior to 12 _limit_query_string makes incorrect query string. Feels like connector need parameter to support old version recipe. But its complex modification. Need more hooks to query at sql base class.
from mage-ai.
Hello!
I think I found the problem. In mage_integrations/mage_integrations/sources/oracledb/init.py when mage discovers the schema it doesn't consider table owner (schema) (screenshot 1).
Then in mage_integrations/mage_integrations/sources/sql/base.py discover function, it passes stream_id as tap_stream_id to __fetch_rows function (whereas stream_id is only a TABLE_NAME).
__fetch_rows uses build_table_name function, which returns f'{self.table_prefix}{table_name}', whereas self.table_prefix returns '' (empty string)
Can we add the schema to the Oracle source (data integration)?
from mage-ai.
Related Issues (20)
- Pipeline level concurrency - Env Variable settings request
- [BUG] Key Vault vaildation is happening while opens the pipeline. HOT 1
- [BUG] pipeline run failed,job_manager = null HOT 1
- Add Google Cloud Storage (GCS) as a data integration source
- [BUG] Blocks are not running in expected order while using dynamic blocks
- Delete block option when you remove a block from a pipeline.
- GCP Cloud Run Executor CPU and Memory Configuration
- [BUG] Pipelines being created with double the amount of blocks HOT 1
- [BUG] unsupported operand type(s) for %: 'NoneType' and 'int' HOT 1
- [BUG] Dataframe fields display overlapping
- [BUG] Error at Login Page with Microsoft sign in enable
- Enlarge results window in streaming pipeline UI
- Get Current Pipeline Runs ID in Runtime
- [Docker] Rebase onto rocker:r2u HOT 1
- Improved R support (object serialization, environment isolation)
- [BUG] GIT_ACCESS_TOKEN Env variable no longer working HOT 1
- [BUG] First Time only Project Git initialization Error
- [BUG] Multi-Project Platform - Major UI / Navigation issue. Shows incorrect Project / switches project / can't run jobs. HOT 5
- [BUG] Next Run Date calculation error HOT 1
- [BUG] - Kafka authentication "check_hostname" false is not beign applied. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mage-ai.