g
any tips?
j
Please use threads šŸ™‚
I use
tap-oracle
on apple silicon and the issue you're facing is due to missing instant client drivers, which are a dependency to the
cx_Oracle
python package this tap is using.
There are no instant client drivers available (and most likely never will be) for arm64 arch.
Take a look at this fork https://github.com/christianelliott/pipelinewise-tap-oracle/tree/feature/convert-to-oracledb here it is using
oracledb
python package instead, which does not require the mentioned drivers
• uninstall the tap-oracle • update
meltano.yml
Copy code
...
plugins:
  extractors:
    - name: tap-oracle
      pip_url: git+<https://github.com/christianelliott/pipelinewise-tap-oracle.git>
...
• run
meltano install
g
@janis_puris thanks! was doing this but seems I am on python 3.11.0 and that tap expects something else?
Copy code
ERROR: Package 'pipelinewise-singer-python' requires a different Python: 3.11.0 not in '<3.11,>=3.7.0'
Anything simple I can do to enable this using the 3.11 python version or is it too recent to use with meltano? Had same issue with the standard tap-oracle but not with the tap-oracle --variant transferwise?
j
This tap uses pipelinewise-singer-python which is a fork of transferwise/pipelinewise-singer-python and in the setup.py the requirement is set.
You can fork these two and update the dependencies accordingly, but would strongly advice to simply use 3.10. I reckon lots of taps are fairly out of date
g
ok will try that first and see if 3.10 makes everything work. thanks a lot
j
It should work! My meltano project using the mentioned fork of
tap-oracle
is on python 3.10.11
It is quite a mess with the plugins, but my hopes are to eventually move to MeltanoLabs provided ones or at least maintained plugins build with the SDK 🤷
g
Well I just wanted to quickly test drive a setup as new user and it takes a bit of time now to get started. Was hoping to just do (next next next yes finish šŸ˜‰ ) but lets see how far we get with it today.
Alrite -> python version 3.10.12 made all errors go away Could install tap Configured the tap if I do the test I get this error
Copy code
meltano config tap-oracle test

2023-06-26T07:44:33.888428Z [info     ] The default environment 'dev' will be ignored for `meltano config`. To configure a specific environment, please use the option `--environment=<environment name>`.
Need help fixing this problem? Visit <http://melta.no/> for troubleshooting steps, or to
join our friendly Slack community.

Plugin configuration is invalid
No RECORD message received
j
I think this means that it is not able to verify the validity of your selected streams because discovery returns nothing
Check if you have your tables / filter schema and so on set correctly in the tap's config
for example oracle requires the table/schema names in UPPERCASE i.e.
Copy code
select:
        - MY_SCHEMA-MY_TABLE.*
        - MY_SCHEMA-MY_OTHER_TABLE.*
g
I was indeed using lowercase for the schema. Adapted it takes longer
so its discovering I think now. its a lot of tables so maybe I should have just selected one table. to test
j
I'm glad it works now šŸ‘ Depending on tap, it will do a query on some system tables. When you specify
abc-xyz
it will do a query with
Copy code
schema_name = 'abc' and table_name = 'xyz'
this is the reason it would fail, as that query returns nothing, because all oracle db objects (AFAIK) are uppercase. For a valid config, you need at least something to grab from the source.
The error message should be improved imho šŸ˜„
g
Separator is not found, and chunk exceed the limit
hmm I just added my schema name, but without any ";"
should I always add ";" to the end? even if its only one
ok slowly getting there now
Copy code
Exception: Unrecognized replication_method None
Alrite success!
Copy code
Plugin configuration is valid
Will try to dump now to a csv but I think I got it going now! Thanks a lot for the help! @janis_puris