beekeeper-studio / beekeeper-studio

Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows.
https://www.beekeeperstudio.io
Other
16.33k stars 1.07k forks source link

BUG: Connection with firebird #2341

Closed Ddiidev closed 1 month ago

Ddiidev commented 1 month ago

Describe the bug I can't connect to the Firebird 5 database (that's what I'm using, I don't know if it works with 2.5, but it doesn't seem to be a version problem)

To Reproduce Steps to reproduce the behavior:

  1. Go to 'new connection'
  2. Select 'Firebird'
  3. Host 'localhost'
  4. Port '3050' (default)
  5. User 'SYSDBA'
  6. Pass 'masterkey'
  7. Dafault Database 'Path from database'
  8. Click on 'Test' or 'Connect'

Expected behavior That at least made the connection.

Screenshots / Gifs How it was installed. image

Result when trying to connect: image (1)

Version Information (please complete the following information):

Additional context I am able to connect to the bank through any other IDE.

azmy60 commented 1 month ago

Hey, thanks for reporting this! We haven't seen this issue as we tested this with firebird v4. We'll take a look at v5 now.

azmy60 commented 1 month ago

How did you install Beekeeper Studio?

Ddiidev commented 1 month ago

I don't remember exactly how I installed Beekeeper, but I had the free version. Then I bought Ultimate, and received a link to download the Ultimate version. I installed it over the version I already had installed, and then I tested it and this is what happened.

Is there any log generated by beekeeper that I can attach here?

azmy60 commented 1 month ago

Could you try using 0.0.0.0 instead of localhost? Or maybe 127.0.0.1?

azmy60 commented 1 month ago

I couldn't replicate this. I wonder if you've added some extra config to firebird.conf or something similar?

ECONNREFUSED sounds like the firebird server is not running or maybe it's running on a different port. Could you also check the following?

azmy60 commented 1 month ago

Also is there any errors from console?

Help > Show developer tools

Ddiidev commented 1 month ago

image

ConnectionInterface.vue?7ce3:98 error watch null firebird
ConnectionInterface.vue?7ce3:98 error watch Error: Incompatible wire encryption levels requested on client and server
    at wo (index.js:1360:21)
    at index.js:3138:21
    at k (index.js:3198:29)
    at Mo (index.js:3481:29)
    at Do (index.js:3203:24)
    at Socket.<anonymous> (index.js:3115:13)
    at Socket.emit (node:events:390:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:199:23) firebird
13:45:48.295 (ConnectionInterface)         › Error: Incompatible wire encryption levels requested on client and server
    at wo (index.js:1360:21)
    at index.js:3138:21
    at k (index.js:3198:29)
    at Mo (index.js:3481:29)
    at Do (index.js:3203:24)
    at Socket.<anonymous> (index.js:3115:13)
    at Socket.emit (node:events:390:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:289:9)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:199:23)
setTimeout (async)
d @ console.js:93
t @ console.js:46
o @ log.js:44
i @ log.js:27
n @ log.js:21
submit @ ConnectionInterface.vue?7ce3:210
processTicksAndRejections @ node:internal/process/task_queues:96
await in processTicksAndRejections (async)
click @ ConnectionInterface.vue:1
Br @ vue.runtime.esm.js:2987
r @ vue.runtime.esm.js:1785
o._wrapper @ vue.runtime.esm.js:7428

Could you try using 0.0.0.0 instead of localhost? Or maybe 127.0.0.1? I tested it, the same problem occurs.

image image

I couldn't replicate this. I wonder if you've added some extra config to firebird.conf or something similar?

ECONNREFUSED sounds like the firebird server is not running or maybe it's running on a different port. Could you also check the following?

  • Open services.msc, see if the Firebird is running. image
  • Make sure you're connecting to the same port by looking at RemoteServicePort in firebird.conf.
  • Maybe try a different port by changing the RemoteServicePort and then restart the firebird service

Both services are running. image

It's on the default port, I didn't modify it. image

I'm able to connect with datagrip (ibexpert and dbever too): image

azmy60 commented 1 month ago

Ah, okay. That seems to be a problem with the new wire protocol as we don't support it yet. In order to connect from beekeeper, you need to add the following to your firebird.conf:

WireCrypt = Enabled # or disabled
AuthServer = Srp256, Legacy_Auth
AuthClient = Srp256, Srp, Win_Sspi, Legacy_Auth #Windows clients

So sorry you're dealing with this. It should've been in the docs or a notice in the connection form so I'll be working on that.

Ddiidev commented 1 month ago

It worked, thank you very much!!

azmy60 commented 1 month ago

I'm glad it finally works! Let us know if there are any other issues with firebird! : )