Мне нужно было создать Flask Server с SQL-сервером, и я разместил свое приложение Flask на Render.
Я могу подключиться к своей базе данных из локальной системы, но когда я размещаю его на Render, я не могу подключиться и получаю эту ошибку.
Также моя база данных размещена на AWS.
Ошибка ::::
{
"сообщение": «Не удалось подключиться к базе данных: ('01000', «[01000] [unixODBC][Диспетчер драйверов]Невозможно открыть библиотеку «ODBC Driver 17 для SQL Server»: файл не найден (0) (SQLDriverConnect)»)» ,
"статус": "ошибка"
def get_db_connection():
try:
conn = pyodbc.connect(
f"DRIVER={{ODBC Driver 17 for SQL Server}};"
f"SERVER={DB_SERVER},1433;"
f"DATABASE={DB_NAME};"
f"UID={DB_USER};"
f"PWD={DB_PASSWORD};"
)
print("Connected to the database!")
return conn
except Exception as e:
print(f"Database connection failed: {e}")
raise e
Правильная работа в локальной системе
Dockerfile
FROM python:3.13.0-buster
# UPDATE APT-GET
RUN apt-get update
# PYODBC DEPENDENCES
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
ADD odbcinst.ini /etc/odbcinst.ini
# UPGRADE pip3
RUN pip3 install --upgrade pip
# DEPENDECES FOR DOWNLOAD ODBC DRIVER
RUN apt-get install apt-transport-https
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/d ... /prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
# INSTALL ODBC DRIVER
RUN ACCEPT_EULA=Y apt-get install msodbcsql17 --assume-yes
# CONFIGURE ENV FOR /bin/bash TO USE MSODBCSQL17
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
Подробнее здесь: https://stackoverflow.com/questions/793 ... -on-render
Проблема с подключением к SQL-серверу из приложения My Flask, размещенного на рендере ⇐ Python
Программы на Python
1736751300
Anonymous
Мне нужно было создать Flask Server с SQL-сервером, и я разместил свое приложение Flask на Render.
Я могу подключиться к своей базе данных из локальной системы, но когда я размещаю его на Render, я не могу подключиться и получаю эту ошибку.
Также моя база данных размещена на AWS.
Ошибка ::::
{
"сообщение": «Не удалось подключиться к базе данных: ('01000', «[01000] [unixODBC][Диспетчер драйверов]Невозможно открыть библиотеку «ODBC Driver 17 для SQL Server»: файл не найден (0) (SQLDriverConnect)»)» ,
"статус": "ошибка"
def get_db_connection():
try:
conn = pyodbc.connect(
f"DRIVER={{ODBC Driver 17 for SQL Server}};"
f"SERVER={DB_SERVER},1433;"
f"DATABASE={DB_NAME};"
f"UID={DB_USER};"
f"PWD={DB_PASSWORD};"
)
print("Connected to the database!")
return conn
except Exception as e:
print(f"Database connection failed: {e}")
raise e
Правильная работа в локальной системе
Dockerfile
FROM python:3.13.0-buster
# UPDATE APT-GET
RUN apt-get update
# PYODBC DEPENDENCES
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
ADD odbcinst.ini /etc/odbcinst.ini
# UPGRADE pip3
RUN pip3 install --upgrade pip
# DEPENDECES FOR DOWNLOAD ODBC DRIVER
RUN apt-get install apt-transport-https
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
# INSTALL ODBC DRIVER
RUN ACCEPT_EULA=Y apt-get install msodbcsql17 --assume-yes
# CONFIGURE ENV FOR /bin/bash TO USE MSODBCSQL17
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
Подробнее здесь: [url]https://stackoverflow.com/questions/79339026/sql-server-connection-issue-from-my-flask-application-hosted-on-render[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия