Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2017 04:58:58

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

SQLAlchemy строка соединения

Я смотрю соединение происходит по TCP. Насколько помню, из коробки оно выключено, посмотрите в настройках сервера. Кроме того, не знаю работает ли win аутентификация при работе через TCP.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#2 Март 3, 2022 19:14:30

A_L_e_ksandr
Зарегистрирован: 2012-11-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy строка соединения

Разбираю похожие варианты.
Пусть будет ответом. вдруг пригодится!

 from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import mapper, sessionmaker
from sqlalchemy.engine import URL
class Bookmarks(object):
    pass
def loadSessionLocalNGuidesSQLNew():
    connection_string = r"""DRIVER={SQL Server Native Client 11.0};
    SERVER=(localdb)\v11.0;
    DATABASE=C:\Какойто путь к базе\NGuidesSQLNew.mdf;
    UID=;PWD="""
    connection_url = URL.create("mssql+pyodbc", query={"odbc_connect": connection_string})
    engine = create_engine(connection_url)
    metadata = MetaData(engine)
    ntypes = Table('NTypes', metadata, autoload=True) # Таблица NTypes
    mapper(Bookmarks, ntypes)
    Session = sessionmaker(bind=engine)
    session = Session()
    return session
if __name__ == "__main__":
    session = loadSessionLocalNGuidesSQLNew()
    res = session.query(Bookmarks).all()
    for a in res:
        print(dict(filter(lambda item: item[0][0] != '_', a.__dict__.items())))

На выходе имеем
{'ID': 1, 'Name': 'Размер', 'USort': 1, 'TypeValueID': 2}
{'ID': 3, 'Name': 'Да/Нет', 'USort': 3, 'TypeValueID': 4}
{'ID': 5, 'Name': 'Строка', 'USort': 5, 'TypeValueID': 3}
{'ID': 6, 'Name': 'Целое число', 'USort': 6, 'TypeValueID': 1}
{'ID': 7, 'Name': 'Число', 'USort': 7, 'TypeValueID': 2}
{'ID': 10, 'Name': 'Штриховка', 'USort': 17, 'TypeValueID': 1}
{'ID': 11, 'Name': 'Кортеж свойств', 'USort': 11, 'TypeValueID': 1}
{'ID': 12, 'Name': 'Файлы типа К3|*.k3', 'USort': 12, 'TypeValueID': 3}
{'ID': 13, 'Name': 'Файлы макропрограмм|*.mac;*.py', 'USort': 13, 'TypeValueID': 3}
{'ID': 14, 'Name': 'Файлы картинок|*.jpg;*.bmp;*.wmf;*.gif;*.tiff;', 'USort': 14, 'TypeValueID': 3}
{'ID': 15, 'Name': 'Файлы wmf|*.wmf', 'USort': 15, 'TypeValueID': 3}
{'ID': 16, 'Name': 'Текстура', 'USort': 16, 'TypeValueID': 3}
{'ID': 17, 'Name': 'Цвет К3', 'USort': 17, 'TypeValueID': 1}
{'ID': 18, 'Name': 'Номенклатурная единица', 'USort': 18, 'TypeValueID': 1}
{'ID': 19, 'Name': 'Сборочная единица', 'USort': 18, 'TypeValueID': 1}
[/code

Отредактировано A_L_e_ksandr (Март 3, 2022 19:18:22)

Офлайн

#3 Март 3, 2022 21:02:28

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2576
Репутация: +  58  -
Профиль   Отправить e-mail  

SQLAlchemy строка соединения

Для начала установи
SQL Server Management Studio (SSMS)
и подключись к своей базе
Когда разберешься - сделаешь уже на питоне



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Июль 5, 2022 11:53:06

webzepa
Зарегистрирован: 2022-07-05
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy строка соединения

без создания таблицы:
from sqlalchemy import create_engine
engine = create_engine('mssql+pymssql//localhost/mydb')
print(engine)
for row in engine.execute('select * from test'):
print(dict(row))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version