DebianでDjangoRestを使用してRESTAPIを作成しようとしていますが、コマンド「python3manage.pymigrate」を実行するとこの例外がスローされます
エラー:データベースドライバーは最新のデータ時間タイプをサポートしていません。 ")django.core.exceptions.ImproperlyConfigured:データベースドライバーは最新のデータ時間タイプをサポートしていません。
すでにインストールされています:
msodbcsql17 is already the newest version (17.3.1.1-1).
freetds-bin is already the newest version (0.91-6.1+b4).
freetds-dev is already the newest version (0.91-6.1+b4).
tdsodbc is already the newest version (0.91-6.1+b4).
unixodbc-dev is already the newest version (2.3.7).
unixodbc is already the newest version (2.3.7).
ファイル:odbc.ini
[MYSERVER]
Description = Django SQLServer
Driver = FreeTDS
Trace = Yes
TraceFile = /tmp/sql.log
Database = DjangoDB
Servername = MYSERVER
UserName = sa
Password = *******
Port = 1433
Protocol = 8.0
ファイル:odbcinst.ini
[FreeTDS]
Description=FreeTDS Driver for Linux & MSSQL on Win32
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup =/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
UsageCount=1
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
UsageCount=1
ファイル:freetds.conf
[global]
# TDS protocol version
tds version = 8.0
[MYSERVER]
host = localhost
port = 1433
tds version = 8.0
問題はTDSバージョンにあります。バージョン8.0は、インターネット全体に多くの悪いアドバイスが存在するにもかかわらず、実際には有効なバージョンではありません。これには多くの理由がありますが、バージョン8.0は実際にはTDSバージョン7.1にマップされます。これは、MicrosoftがSQL Server2008に新しい日付と時刻のフィールドタイプを追加する前のバージョンです。脚注を参照してください。
https://www.freetds.org/userguide/tdshistory.htm
かなり古いバージョンのFreeTDS(0.91)を実行しています。SQL Server 2005で導入されたTDSバージョン7.2のみをサポートします。FreeTDSのバージョンをアップグレードし、TDSバージョン7.3を使用することをお勧めします。詳細はこちら:
https://www.freetds.org/userguide/choosingtdsprotocol.htm
もう1つのオプションは、既にインストールされていると思われるMS ODBCドライバーを使用することです。これは、使用しているFreeTDSのバージョンよりもはるかに最新のものです。
幸運を!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加