Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel ist die vollständige settings.py Konfigurationsreferenz für das mssql-django Django-Datenbank-Backend. Konfigurieren Sie die SQL Server-Konnektivität, indem Sie das DATABASES Wörterbuch in der settings.py Datei Ihres Django-Projekts bearbeiten.
Minimale Konfiguration
Das folgende Beispiel zeigt die minimal erforderliche Konfiguration:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
},
}
Datenbank-Verbindungseinstellungen
Diese Einstellungen konfigurieren deine DATABASES Verbindung. Die meisten sind Standard-Django-Einstellungen; Ausnahmen werden vermerkt:
| Setting | Typ | Description |
|---|---|---|
ENGINE |
String | Muss "mssql" sein. |
NAME |
String | Datenbankname. Erforderlich. |
HOST |
String | Server-Hostname oder IP-Adresse. Verwenden Sie "server\\instance" das Format für benannte Instanzen. |
PORT |
String | Server-Instanz-Port. Leerer String bedeutet Standard-Port. |
USER |
String | Datenbank-Benutzername. Falls nicht angegeben, wird Windows Integrated Security verwendet. |
PASSWORD |
String | Datenbank-Benutzerpasswort. |
AUTOCOMMIT |
Boolean | Auf eingestellt False , um Djangos Transaktionsverwaltung zu deaktivieren. Der Standardwert ist True. |
Trusted_Connection |
String | Setze auf "yes" (Standard) die Nutzung von Windows Integrated Security, wenn USER nicht bereitgestellt wird. Wenn USER und PASSWORD beide gesetzt sind, haben diese Zugangsdaten Vorrang und Trusted_Connection werden ignoriert. Setzen Sie die "no" Windows-Authentifizierung explizit aus. Das ist eine mssql-django Erweiterung, kein Standard-Django-Setting. |
TOKEN |
String | Zugriffstoken für Microsoft Entra-Authentifizierung (zum Beispiel über azure.identity). Das ist eine mssql-django Erweiterung, kein Standard-Django-Setting. |
TEST-Einstellungen
Diese Einstellungen steuern die Testdatenbank, die von Djangos Testrunner verwendet wird:
| Setting | Typ | Description |
|---|---|---|
NAME |
String | Name der Testdatenbank. Standardwert: "test_" + NAME. |
COLLATION |
String | Zusammenstellung für die Testdatenbank. Standard: Instanz Standard. |
DEPENDENCIES |
List | Erstellungsreihenfolge-Abhängigkeiten der Datenbank. |
MIRROR |
String | Alias einer Datenbank zum Spiegeln während des Tests. |
Beispiel:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
"TEST": {
"NAME": "test_mydb",
"COLLATION": "SQL_Latin1_General_CP1_CI_AS",
},
},
}
OPTIONEN
Das Wörterbuch OPTIONS bietet backend-spezifische Konfigurationen. Fügen Sie diese Einstellungen ins Wörterbuch DATABASES["default"]["OPTIONS"] ein:
| Auswahl | Typ | Vorgabe | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
ODBC-Treiber zum Nutzen. Fällt automatisch auf Treiber 17 zurück, wenn 18 nicht installiert ist. |
isolation_level |
String | None |
Transaktionsisolationsstufe: READ UNCOMMITTED, READ COMMITTED, , REPEATABLE READ, SNAPSHOToder SERIALIZABLE. |
dsn |
String | None |
Heißt DSN. Kann anstelle von HOSTverwendet werden. |
host_is_server |
Boolean | False |
Stell es so ein, dass True es direkt mit FreeTDS verwendetPORTHOST/wird, statt mit einem freetds.conf Dataserver-Namen. |
unicode_results |
Boolean | False |
Aktiviere die unicode_results Funktion von pyodbc. |
extra_params |
String | None |
Zusätzliche ODBC-Parameter im Format "param=value;param=value" . Wird für die Microsoft Entra-Authentifizierung verwendet. |
collation |
String | None |
Kollation für Textfeldsuche (zum Beispiel "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Verbindungszeitzeit in Sekunden (0 = deaktiviert). |
connection_retries |
Integer | 5 |
Anzahl der Verbindungsversuche. |
connection_retry_backoff_time |
Integer | 5 |
Rückzugszeit in Sekunden zwischen den Wiederversuchen. |
query_timeout |
Integer | 0 |
Abfrage-Timeout in Sekunden (0 = deaktiviert). |
setencoding / setdecoding |
List | None |
PyodbcCodierungs-Dekodierungskonfiguration / . |
return_rows_bulk_insert |
Boolean | False |
Erlauben Sie Rückkehrreihen aus dem Bulk-Einsatz. Das muss so sein False , wenn Tabellen Trigger haben. |
datefirst |
Integer | 7 |
Erster Wochentag für SET DATEFIRST.
7ist Sonntag (SQL Server Standard), 1 ist Montag. |
driver_needs_utf8 |
Nur-Präsenz-Option | Nicht festgelegt | Aktivieren Sie die UTF-8-Codierung für den ODBC-Treiber. Diese Option ist aktiviert, wenn der Schlüssel in OPTIONSvorhanden ist; der Wert selbst wird ignoriert. Typischerweise benötigt man bei FreeTDS oder älteren unixODBC-Konfigurationen, die standardmäßig auf Latin-1 basieren. |
driver_charset |
String | None |
Expliziter Zeichensatz für den ODBC-Treiber (zum Beispiel, "UTF-8"). Verwenden Sie mit driver_needs_utf8 wenn der Fahrer die Kodierung nicht automatisch erkennt. |
connection_recovery_interval_msec |
Float | 0.0 |
Millisekunden, um zwischen den erneuten Versuchen in der Backend-Wiederherstellungsschleife nach einem Netzwerkfehler zu warten. Erhöhe diesen Wert für instabile Netzwerkverbindungen. |
Beispiel mit gängigen Optionen:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>.database.windows.net",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
"extra_params": "Encrypt=yes",
"isolation_level": "READ COMMITTED",
"connection_timeout": 30,
"connection_retries": 3,
"connection_retry_backoff_time": 5,
"query_timeout": 60,
},
},
}
Backend-spezifische Einstellungen
Diese Einstellung wird auf Modulebene in settings.py, außerhalb des Wörterbuchs DATABASES , platziert:
| Setting | Typ | Vorgabe | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
Boolean | True |
Setze auf Deaktivieren False des Verbindungspoolings von pyodbc. |
Beispiel:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<your-database>",
"USER": "<your-username>",
"PASSWORD": "<your-password>",
"HOST": "<your-server>",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 18 for SQL Server",
},
},
}
# Set this to False to disable pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False