-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Azure Data Warehouse through MS SQL (ODBC) runner doesn't work on a default docker image #4356
Comments
spacentropy
changed the title
Azure SQL/Data Warehouse through MS SQL (ODBC) runner doesn't work on a default docker image
Azure Data Warehouse through MS SQL (ODBC) runner doesn't work on a default docker image
Nov 14, 2019
The EULA seems reasonable and the size increasing as well. We can even offset it by dropping |
I fear this could break compatibility? There were two datasources, now there would be one - existing queries will fail. |
arikfr
added a commit
that referenced
this issue
Feb 23, 2020
arikfr
added a commit
that referenced
this issue
Feb 23, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Issue Summary
Default docker image has neither pyodbc nor Microsoft ODBC Driver installed, so you can't query Azure Data Warehouse with default docker image, even if you enable pyodbc.
Steps to Reproduce
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.mssql_odbc"
[2019-11-13 13:29:19,823][PID:10][DEBUG][redash.query_runner] Microsoft SQL Server (ODBC) query runner enabled but not supported, not registering. Either disable or install missing dependencies.
a)
pyodbc==4.0.27
pypi package is missing inrequirements_all_ds.txt
b) Even if you put it in
requirements_all_ds.txt
, it can't be downloaded & built by pip because you don't haveg++ unixodbc-dev
package installedc) Even if you get
g++ unixodbc-dev
, you still need Microsoft ODBC Driver installed:msodbcsql17
pyodbc
torequirements_all_ds.txt
:RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list && apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql17 g++ unixodbc-dev
So I see the main problem as:
Is it even possible to package all these dependencies into standard Redash docker image and make it work without apt-get and pyodbc troubles? That means accepting Microsoft's EULA, and some native dependencies, e.g. pyodbc builds itself from source. I haven't measured image size increase but
apt-get
writesAfter this operation, 15.8 MB of additional disk space will be used
The runner itself(#1906) works. I just had to spend 30 minutes to make it run in docker.
Technical details:
Thanks for the awesome v8 release!
The text was updated successfully, but these errors were encountered: