Проблемы с подключением к SQL-серверу с помощью Python

Я недавно установил Microsoft SQL Server 2014 на свой компьютер, так как хочу создать базу данных для веб-приложения, которое я создаю (я изучаю Python в течение года и имею очень базовый опыт работы с SQLite).

После установки SQL Server 2014 и создания базы данных под названием «Пользователи» я просто пытаюсь выполнить несколько очень простых команд для своей базы данных, но снова и снова падаю на первое препятствие!

Я установил pymssql и pyodbc и пробовал запускать команды напрямую с ними, но потерпел неудачу. (например, pymssql дает мне TypeError: аргумент типа 'NoneType' не может быть повторен, когда я устанавливаю переменную conn = pymssql.connect (сервер, пользователь, пароль, «tempdb»)

Моя последняя попытка - использовать SQLalchemy для достижения моего долгожданного соединения с базой данных SQL. Однако после установки возникает следующая ошибка: "sqlalchemy.exc.OperationalError: (pymssql.OperationalError) (20009, 'сообщение об ошибке DB-Lib 20009, уровень серьезности 9: \ nНе удается подключиться: Adaptive Server недоступен или не существует \ nОшибка Net-Lib во время Неизвестной ошибки (10035) \ n ') "

Мне нужно ответить на вопрос: как мне начать разговаривать с моей базой данных с помощью SQLalchemy?

Код, который я использую, выглядит следующим образом: из импорта sqlalchemy *

    engine = create_engine('mssql+pymssql://Han & Lew:@SlugarPlum:1433/Users')

    m = MetaData()

    t = Table('t', m,
            Column('id', Integer, primary_key=True),
            Column('x', Integer))

    m.create_all(engine)

Да, мой компьютер называется SlugarPlum. Пользователь - Han & Lew. А мой сервер называется THELROYSERVER. DSN = 1433. Без пароля. (Я не знаю, разумно ли предоставлять эту информацию в Интернете, но данные, которые у меня есть, не конфиденциальны, поэтому я думаю, что стоит попробовать.)

Кроме того, если бы кто-нибудь мог направить меня к ресурсу для ультра-новичков по серверу Python-SQL, это было бы здорово, так как меня избивает, насколько сложным это кажется!


person LemusThelroy    schedule 13.06.2015    source источник
comment
Давали ли вы подтвердить свои учетные данные для работы с помощью SQL Server Studio Manager?   -  person abaldwin99    schedule 14.06.2015
comment
Спасибо, что ответили мне. Я вошел в систему и использовал консоль управления, и у меня есть логин Microsoft и т. Д.   -  person LemusThelroy    schedule 14.06.2015


Ответы (1)


Вот функция подключения и пример подключения через pyodbc. Подключение через pymssql должно быть таким же простым, как форматирование соединительной строки для pymssql. Я предоставил варианты для Windows и Linux, но протестировал их только на Linux. Я надеюсь, что это помогает.

def sqlalchemy_connect(connect_string): 
    """ Connect to the database via ODBC, start SQL Alchemy engine. """

    def connect():
        return pyodbc.connect(connect_string, autocommit=True)

    db = create_engine('mssql://', creator=connect)
    db.echo = False

    return db

def main():
    global DBCONN

    # Linux with FreeTDS
    connect_string = "DRIVER={FreeTDS};SERVER=<server name>;PORT=<port num>;DATABASE=<db>;UID=<user>;PWD=<password>;TDS_Version=<version num>;"

    # Windows with SQL Server
    connect_string = "DRIVER={SQL Server};SERVER=<server name>;PORT=<port num>;DATABASE=<db>;UID=<user>;PWD=<password>;"

    DBCONN = sqlalchemy_connect(connect_string)


if __name__ == "__main__":
    main()
person FlipperPA    schedule 15.06.2015