Linux Django pyodbc MSSQL

настройки FreeTDS драйвера

cat /etc/freetds/freetds.conf

[FREE_MSSQL]
host = vinserv.a
port = 1433
tds version = 8.0
client charset = UTF8
TraceFile = /tmp/freetds.log

проверка

tsql -S FREE_MSSQL -U sa -P 1

настройки системных odbc

cat /etc/odbcinst.ini 

[af4]
Description        = Free TDS driver
Driver        = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup        = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
TraceFile   =   /tmp/odbcinst.log
ForceTrace = Yes
FileUsage        = 1
UsageCount        = 14

cat /etc/odbc.ini 

[AF4]
Description        = MS SQL driver
Driver        = af4
Servername        = FREE_MSSQL
Database        = ArchiveFund
UID        = sa
PWD        = 1
Trace = YES
TraceFile   =   /tmp/odbc_trace

проверка

isql AF4 sa 1 -v

для проверки нужно использовать синтаксис ODBC, например

use ArchiveFund
select * from tblFund
go

после того как появились успешные тесты нужно настроить Django на работу с этим источником данных

pip install django-pyodbc

и добавляем в settings.py следующее определение DATABASES

    'AF4': {
        'ENGINE': 'django_pyodbc',
        'NAME': 'ArchiveFund',
        'USER': 'sa',
        'PASSWORD': 'sa',
        'OPTIONS': {
            'driver': 'FreeTDS',
            'dsn': 'AF4',
        }
    },

Теперь можно проинспектировать базы с помощью

python manage.py  inspectdb >> af4/models.py

пока всё, после НГ буду разбираться с charset и чужими кривыми моделями

Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут