Add Firebird database

Hello, I’m trying to create a connector for the Firebird database.

I’m following this link:

But it is very old, I believe there were changes in the structure of directories and files, I cannot find redash / settings.py.

I would like to know if you have any official documentation on Query_runner or any updated topic.

Hi @CassioBA and welcome to the forum! Your post did not include any links.

I assume you’re referencing this post from Arik:

In which case, settings.py was changed to a package from a module. It’s within redash/settings/__init__.py now.

Spectacular, I found exactly the file that the configuration. Thank you!

I have more doubt, I will be grateful if you can help me.

I tried to do all the steps described by arikfr. I created the Query Runner in redash / query_runner; I added the file created in redash / settings / __ init__.py.

But even so, my connection does not appear on the list.

Can you help me in what I may be doing wrong or leaving behind?

This usually means the dependencies for your query runner have not been installed. Have you pip installed them?

Master, you are a genius.

I had not noticed that at the beginning of the code there is the instruction to only enable the connection if the drive is installed.

I am now having difficulty connecting the drive to my firebird 2.1 bank.

Sad :frowning:

I managed to connect to my database and return a query.

However, when I try to run a query on the redash front-end, I don’t return anything and on the terminal I get this error:

[2020-06-10 11:33:07,002][PID:16955][INFO][werkzeug] 127.0.0.1 - - [10/Jun/2020 11:33:07] "GET /api/jobs/fa1da70b-d9ce-4400-a3d0-c4da67f92e24 HTTP/1.1" 200 -
[2020-06-10 11:33:07,675][PID:16955][ERROR][redash.app] Exception on /api/data_sources/3/test [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.6/dist-packages/flask_restful/__init__.py", line 458, in wrapper
    resp = resource(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/flask_login/utils.py", line 261, in decorated_view
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/flask/views.py", line 89, in view
    return self.dispatch_request(*args, **kwargs)
  File "/opt/redash/redash/handlers/base.py", line 33, in dispatch_request
    return super(BaseResource, self).dispatch_request(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/flask_restful/__init__.py", line 573, in dispatch_request
    resp = meth(*args, **kwargs)
  File "/opt/redash/redash/permissions.py", line 71, in decorated
    return fn(*args, **kwargs)
  File "/opt/redash/redash/handlers/data_sources.py", line 253, in post
    job.refresh()
  File "/usr/local/lib/python3.6/dist-packages/rq/job.py", line 461, in refresh
    raise NoSuchJobError('No such job: {0}'.format(self.key))
rq.exceptions.NoSuchJobError: No such job: b'rq:job:552159a1-c3f6-43fd-ac1a-bf147815623c'

Do you know how to help me?

Does this error persist if you restart your instance?

Hello, sorry for the delay. I had a troubled weekend.

Yes, even restarting.

There seems to be another problem. I was trying to implement the connection to Firebird, and it was not working. I even thought I was doing something wrong (I’m not an experienced programmer).

But, as a test, I tried to connect to a bank already implemented in redash, and also did not connect. The bank in question was postgres. In fact, I used Postbird to test the connection with the same parameters informed in the redash, and connected normally.

I believe there is another problem with my installation.

For your latest issue, it seems like you have a firewall issue preventing Redash from connecting to your database.

For now, I will close this topic. In order not to be disorganized, I will create another one with another doubt.