У меня есть следующие учетные данные для входа: IP, имя сервера, имя пользователя, база данных, пароль.
Я не могу использовать авторизацию Windows, так как хочу периодически запускать готовый скрипт с помощью r, pi или облачного сервиса в течение дня.
Код: Выделить всё
password = 'xxx'
server = os.environ['xxx']
database = os.environ['xxx']
username = os.environ['xxx']
driver='{ODBC Driver 18 for SQL Server}' #does not work with pyodbc if + used instead of {}
connection_string = f"mssql+pyodbc://{username}:{password}@{server}/{database}?driver={driver};Encrypt=False"
try:
# Create the SQLAlchemy engine
engine = create_engine(connection_string)
# Test the connection
with engine.connect() as connection:
# Use the inspector to get table names
inspector = inspect(connection)
tables = inspector.get_table_names()
# Print the list of tables
print("Tables in the database:")
for table in tables:
print(table)
except Exception as e:
print(f"Error connecting to the database: {e}")
Код: Выделить всё
connection_string = f'DRIVER={driver};SERVER={server};DATABASE={database};UID={username};PWD={password};TrustServerCertificate=Yes;'
try:
connection = pyodbc.connect(connection_string)
print("Connection successful!")
connection.close()
except Exception as e:
print(f"Error connecting to the database: {e}")
В driver= '{Драйвер ODBC 18 для SQL Server}' Я также пробовал + вместо пробелов с и без {}
Я также пробовал с и без TrustedServerCertificate=Да/True и Encrypt=False/No
Я ожидал, что SQLAlchemy подключится так же легко, как pyodbc, но не могу этого получить работает.
Я также попробовал метод, предложенный здесь.
Полная ошибка:
Ошибка подключения к базе данных: (pyodbc.Error) ('IM012', '[IM012] [Microsoft][ODBC Driver Manager] Синтаксическая ошибка ключевого слова DRIVER (0) (SQLDriverConnect)')
Будем благодарны за любую информацию.
Подробнее здесь: https://stackoverflow.com/questions/790 ... server-but