Connect the data source - SQL Server
I'm trying to connect the SQL server with my local DB. It's throwing errors, but it's working fine in SSMS. Today I have freshly installed docker and WrenAI.
Docker version 27.5.1
Getting error :
line 2461, in run_sync_in_worker_thread 2025-02-25 17:17:27 wren-ui-1 | } 2025-02-25 17:17:27 ibis-server-1 | return await future 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 962, in run 2025-02-25 17:17:27 ibis-server-1 | result = context.run(func, *args) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/routers/v2/connector.py", line 71, in get_table_list 2025-02-25 17:17:27 ibis-server-1 | return MetadataFactory.get_metadata( 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/model/metadata/factory.py", line 28, in get_metadata 2025-02-25 17:17:27 ibis-server-1 | return mapping[data_source](connection_info) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/model/metadata/mssql.py", line 17, in __init__ 2025-02-25 17:17:27 ibis-server-1 | self.connection = DataSource.mssql.get_connection(connection_info) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/model/data_source.py", line 45, in get_connection 2025-02-25 17:17:27 ibis-server-1 | return DataSourceExtension[self].get_connection(info) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/model/data_source.py", line 73, in get_connection 2025-02-25 17:17:27 ibis-server-1 | return getattr(self, f"get_{self.name}_connection")(info) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/model/data_source.py", line 113, in get_mssql_connection 2025-02-25 17:17:27 ibis-server-1 | return ibis.mssql.connect( 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/.venv/lib/python3.11/site-packages/ibis/__init__.py", line 110, in connect 2025-02-25 17:17:27 ibis-server-1 | return backend.connect(*args, **kwargs) 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | File "/app/.venv/lib/python3.11/site-packages/ibis/backends/__init__.py", line 936, in connect 2025-02-25 17:17:27 ibis-server-1 | new_backend.reconnect() 2025-02-25 17:17:27 ibis-server-1 | File "/app/.venv/lib/python3.11/site-packages/ibis/backends/__init__.py", line 951, in reconnect 2025-02-25 17:17:27 ibis-server-1 | self.do_connect(*self._con_args, **self._con_kwargs) 2025-02-25 17:17:27 ibis-server-1 | File "/app/.venv/lib/python3.11/site-packages/ibis/backends/mssql/__init__.py", line 176, in do_connect 2025-02-25 17:17:27 ibis-server-1 | self.con = pyodbc.connect( 2025-02-25 17:17:27 ibis-server-1 | ^^^^^^^^^^^^^^^ 2025-02-25 17:17:27 ibis-server-1 | pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 18 for SQL Server]Login timeout expired (0) (SQLDriverConnect)') 2025-02-25 17:17:27 wren-ui-1 | [2025-02-25T11:47:27.972] [ERROR] APOLLO - == original error == 2025-02-25 17:17:27 wren-ui-1 | [2025-02-25T11:47:27.973] [ERROR] APOLLO - AxiosError: Request failed with status code 500 2025-02-25 17:17:27 wren-ui-1 | at settle (file:///app/node_modules/axios/lib/core/settle.js:19:12) 2025-02-25 17:17:27 wren-ui-1 | at IncomingMessage.handleStreamEnd (file:///app/node_modules/axios/lib/adapters/http.js:599:11) 2025-02-25 17:17:27 wren-ui-1 | at IncomingMessage.emit (node:events:529:35) 2025-02-25 17:17:27 wren-ui-1 | at endReadableNT (node:internal/streams/readable:1400:12) 2025-02-25 17:17:27 wren-ui-1 | at process.processTicksAndRejections (node:internal/process/task_queues:82:21) 2025-02-25 17:17:27 wren-ui-1 | at Axios.request (file:///app/node_modules/axios/lib/core/Axios.js:45:41) 2025-02-25 17:17:27 wren-ui-1 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) 2025-02-25 17:17:27 wren-ui-1 | at async r (/app/.next/server/chunks/980.js:1:3171) 2025-02-25 17:17:27 wren-ui-1 | at async I.getTables (/app/.next/server/chunks/980.js:1:3493) 2025-02-25 17:17:27 wren-ui-1 | at async n.listTables (/app/.next/server/chunks/980.js:8:15323) 2025-02-25 17:17:27 wren-ui-1 | at async f.getProjectDataSourceTables (/app/.next/server/chunks/980.js:8:27008) 2025-02-25 17:17:27 wren-ui-1 | at async y.saveDataSource (/app/.next/server/pages/api/graphql.js:1:82899)
@dimple3695 we currently use ODBC driver 18 to connect to MS SQL. I can connect to MSSQL/Server:2019-CU27 version on my local. Can you provide more information about:
Which OS you use? What is your SQL Server version?
If you can connect using SSMS, I think we can make it work with WrenAI as well. The error suggests a connection timeout, which could be related to network configuration between Docker and your local machine.
@douenergy does this mean WrenAI can connect to any ODBC source with minimal modifications? I'd like to connect to a rather esoteric database system that only provides an ODBC client.
im using SQL SERVER - 2008 tried connecting i get certificate too weak error.. tried changing keys in my local instance but no change same error also hhost.docker.internal doestn work we have to type the IP ADDRESS of the server