Можно ли подключиться к двум серверам в одном веб-приложении (python, pyodb c, flask)? - PullRequest
0 голосов
/ 24 марта 2020

У меня проблема: я подключился к БД на одном сервере (на котором запущено приложение), и он работает нормально. Но если я хочу подключиться к другой БД на другом сервере, это не работает - появляется ошибка 500. Кажется, что есть проблема даже с подключением к БД (сделали несколько тестов). Я использую SQL Server 2012 и не знаю, что делать дальше.

Некоторые сведения:

  • серверы не могут подключиться к inte rnet, поэтому каждый установка является болезненным процессом

  • на первом моем веб-приложении

  • на втором сервере у меня ничего нет - нет python , нет flask, нет анаконды. Есть только моя требуемая БД и SQL Server 2012.

  • уже включен Windows Аутентификация на втором сервере

  • на обычном компьютере как в запущенной программе все работает довольно хорошо

Возможно ли вообще использовать два подключения к двум разным серверам? Нужно ли устанавливать python и pyodb c на втором сервере, чтобы он работал?

Ниже я показываю фрагмент кода:

conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};' 
                  'Server=whatever1;'
                  'Database=whatever2;'
                  'Trusted_Connection=yes;')

cursor = conn.cursor()
cursor.execute("SELECT column1, column2 FROM dbo.database1")
kursor = cursor.fetchall()

for row1 in kursor:
    ...

cursor.close()
conn2 = pyodbc.connect('Driver={SQL Server Native Client 11.0};' 
                  'Server=whatever3;'
                  'Database=whatever4;'
                  'Trusted_Connection=yes;')


cursor = conn2.cursor()
cursor.execute("SELECT column1 FROM dbo.database2")
"""
sth = cursor.fetchone()
... 
cursor.close()
conn.close()
conn2.close()

Пробовал много, ничего не помогло. Спасибо от всего сердца за очень чаевые!

РЕДАКТИРОВАТЬ

Я думаю, что перепробовал все, что приходило мне в голову, и посещал все возможные веб-сайты, но я думал, что где-то есть решение. С тех пор, как я написал этот пост, я обнаружил следующие вещи:

  • проблема, безусловно, связана с соединением с сервером № 2, потому что я обнаружил возможность получения журналов ошибок, и ошибка имеет 'Ошибка входа пользователя 'Domain \ Server $' ', так что это точно

  • логин, который входит в журналы, не существует на вкладке Безопасность в логинах, и я не знаю, к какому из них он принадлежит, так что Я не знаю, кто должен получить соответствующие разрешения и как это сделать

  • в журналах на сервере ms sql на 2-м сервере. Я нашел причину: не удалось найти логин, соответствующий предоставленное имя.

  • Windows Проверка подлинности включена на обоих, а также - когда я запускаю программу, которая подключается к серверу SQL (второй), и она запускается на Первый сервер (на котором запускается приложение) работает довольно хорошо и без ошибок, используя доверенный_коннект = да

Есть идеи, что может быть причиной? Я борюсь с этим так долго, что я уже начал посещать одни и те же места и постоянно спрашивать одни и те же квестины, но до сих пор не получил ответа.

Спасибо за все советы!

...