Я играл с pyodb c и по какой-то причине при попытке подключения, если я получаю свойство Server из input (), он не может найти сервер, но если я беру то же имя сервера и объявляю его как переменная перед рукой прекрасно работает с точно таким же кодом. Кто-нибудь знает, что здесь происходит?
Код с входом ()
import pyodbc
driver = '{ODBC Driver 17 for SQL Server}'
instance = input("Please Enter your SQL Instance: ")
connectionstring = f'Driver={driver}; Server={instance}; Trusted_Connection=yes'
conn = pyodbc.connect(connectionstring)
cursor = conn.cursor()
cursor.execute('SELECT name FROM sys.databases')
for row in cursor:
print(row)
Выход Код вывода имени сервера из Input ()
Код с переменной
import pyodbc
driver = '{ODBC Driver 17 for SQL Server}'
instance = 'DESKTOP-J7PBL8S\\NORTHWIND'
connectionstring = f'Driver={driver}; Server={instance}; Trusted_Connection=yes'
conn = pyodbc.connect(connectionstring)
cursor = conn.cursor()
cursor.execute('SELECT name FROM sys.databases')
for row in cursor:
print(row)
Вывод Код вывода имени сервера из переменной
Я пытался использовать str () на входе без удачи. Не совсем понятно, почему это не нравится, когда я получаю имя сервера из ввода, потому что оно возвращает строку, а строка подключения точно такая же, как и код, который работает.
Мне любопытно, почему это если вы не хотите использовать input () в любом реальном проекте