clickhouse-odbc icon indicating copy to clipboard operation
clickhouse-odbc copied to clipboard

Unable to connect from ODBC.

Open Keiichi-Hirano opened this issue 5 years ago • 10 comments

SQL.LOG When I make an ODBC connection to a server that has a confirmed JDBC connection, it does not respond. Both connections are made from the same PC (windows10). JDBC connection is DBeaver and ODBC is trying to connect from Tableau after setting DNS. What are the factors that should be checked?

Keiichi-Hirano avatar Apr 17 '20 11:04 Keiichi-Hirano

Some additional info - JDBC works fine with DBeaver, but not with Tableau. I did exactly same as the Mr. ANDREY LIPSKY in the link below and got an error. https://community.tableau.com/thread/322534

The error message is below. データ ソースとの通信中にエラーが発生しました。(Error occurred while connecting to Datasource)

無効な接続: Tableau はデータ ソースに接続できませんでした。(Invalid connection: Tableau could not connect to the data soure エラー コード(error code): 37CE01A3 詳細はありません。(There's no further detailed descriptions) 1-3. with

ghost avatar Apr 17 '20 22:04 ghost

I see two errors, that should be addressed before anything else:

[HY000] HTTP status code: 404 Received error: Code: 73, e.displayText() = DB::Exception: Unknown format ODBCDriver2, e.what() = DB::Exception

(1)

Which version of the ClickHouse server and which version of the ClickHouse ODBC driver are you using?

[HY000] Host not found: http://10.98.50.51 (1)

This is obviously a misconfiguration issue. Please make sure a ClickHouse server is running at that address.

traceon avatar Apr 18 '20 14:04 traceon

Which version of the ClickHouse server and which version of the ClickHouse ODBC driver are you using?

Server Version : 1.1.54236 ODBC Version : 1.1.6-win64

This is obviously a misconfiguration issue. Please make sure a ClickHouse server is running at that address.

Yes, Clickhouse is running on the server on 10.98.50.51. This has been confirmed by JDBC connection (DBeaver). The settings of ODBC have been modified as below. As shown in the attached sys.log Error is output. Could it be that the version of Quick start is old? If that's the case, why isn't it up to date? If Quick start is outdated, it is disliked because it adversely affects the user's verification.

Clickhouse_ODBC SQL.LOG

Keiichi-Hirano avatar Apr 18 '20 15:04 Keiichi-Hirano

I am not sure which Quick Start are you referring to, but 1.1.54236 looks way too old, hence Code: 73, e.displayText() = DB::Exception: Unknown format ODBCDriver2, e.what() = DB::Exception.

traceon avatar Apr 21 '20 23:04 traceon

@traceon may be we should add a version compatibility table in readme.

filimonov avatar Apr 21 '20 23:04 filimonov

@filimonov could you please file an issue for that?

traceon avatar Apr 22 '20 00:04 traceon

I upped the version of clickhouse and that solved it. Thank you. It would be nice to have some version compatibility information. I don't want to lose the connection as soon as I bring the ODBC up to date. Or are you guaranteeing backward compatibility? From which version?

ex. Compatibility table Server version : ODBC version 1.1.54236 : 1.0.0.20190523 or less

Keiichi-Hirano avatar Apr 23 '20 01:04 Keiichi-Hirano

We don't have any enforced version compatibility convention right now. You probably need to monitor release notes when upgrading, and, in general, have some kind of staging environment, where you can verify, that the new versions of the driver and/or the server work together as you expect them to work.

traceon avatar Apr 23 '20 01:04 traceon

I agree with you. However, there does not appear to be any mention in the release notes of which version of the DB is compatible with the driver update. If the user updates the driver and it does not match the DB to which it connects You'll get inquiries like this one. In order to avoid unnecessary inquiries, it is recommended to list the driver version and the corresponding DB version.

Keiichi-Hirano avatar Apr 23 '20 22:04 Keiichi-Hirano

That makes sense, and this is exactly what @filimonov suggested. It is just a matter of allocating resources to that task. We need to actually verify what versions work, the degree of support, since some features are being added to the server and picked up by the driver, and some of features of the server that make driver inoperable with such server. It is not hard to do, but it is not trivial either. And as you can imagine, there are some other important things scheduled too.

traceon avatar Apr 23 '20 23:04 traceon