https://prefect.io logo
Title
j

James Ashby

02/17/2023, 4:40 PM
Hi all. I'm trying to connect to a MSSQL database from within a Prefect flow using pyodbc. When I deploy my flow using a Process infrastructure block, it works fine, but when I deploy it using a Docker infrastructure block, I get a "login timeout error". I get the same result when I try to invoke a telnet shell command to validate my connection to the MSSQL server. I've deployed a huge variety of connections to other kinds of servers and databases using Docker infrastructures and never seen this issue. Any ideas why my connection would timeout from inside a container but not outside of it? I added a GET request to https://ipinfo.io/json to verify that my IP address shows the same regardless of whether I deploy to a Process or a Docker container.
r

redsquare

02/17/2023, 6:20 PM
how are you addressing the mssql box, can you try by its ip?
have you added the port explicitly in the connection string?
j

James Ashby

02/17/2023, 9:27 PM
Thanks for responding. I'm using the explicit IP address and port
r

redsquare

02/17/2023, 9:33 PM
The web is full of similar problems and various fixes 😬
maybe one of theee answers around FreeDTS https://stackoverflow.com/a/48975483/6440
:thank-you: 2