ODBC Error

hello, Im pretty new in Streamlit and just built my app, right now everything is running on my localhost but after deploying it, I’m getting “ODBC Error: (‘HYT00’, ‘[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)’)”. I’m trying to use this in production, any suggestion is very much appreciated. Thank you.

this is my current connection:

def connect_to_sql_server(database, server):
conn_str = f’Driver={{ODBC Driver 17 for SQL Server}};Server={server};Database={database};Trusted_Connection’
f’=yes;Connection Timeout=600;’
conn = pyodbc.connect(conn_str)
cursor = conn.cursor()
return conn, cursor
except pyodbc.Error as e:
st.error(f"Error connecting to SQL Server: {e}“)
return None, None
except Exception as ex:
st.error(f"An error occurred: {ex}”)
return None, None

Where does this database run? The database must be accessible from the Internet. You cannot connect to “localhost” on your clients computer if the streamlit app runs on any hosted environment e.g. streamlit cloud.

Running to SQL Server, after building the code, it works on localhost:8501, but after deploying im getting the ODBC error, already tried different approach but still no luck. Any suggestion is very much appreciated Sir.Thank you

The error message includes the string “Login timeout expired,” so are you passing in login credentials? I don’t see any in your code, so this doesn’t seem like a Streamlit issue.