Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a Django adatbázis háttérrendszerének teljes settings.py konfigurációs hivatkozása mssql-django . Konfiguráld az SQL Server kapcsolatot úgy, hogy szerkeszted a Django projekt settings.py fájljában lévő DATABASES szótárt.
Minimális konfiguráció
Az alábbi példa mutatja a minimális szükséges konfigurációt:
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",
},
},
}
Adatbázis-kapcsolati beállítások
Ezek a beállítások konfigurálják a DATABASES kapcsolatodat. A legtöbb szabványos Django világ; Kivételek szerepelnek:
| Setting | Típus | Description |
|---|---|---|
ENGINE |
String | Kell lennie "mssql". |
NAME |
String | Adatbázis neve. Szükséges. |
HOST |
String | Szerver hosztnév vagy IP-cím. Használj "server\\instance" formátumot a nevelt példányokhoz. |
PORT |
String | Szerver példány port. Az üres string alapértelmezett portot jelent. |
USER |
String | Adatbázis felhasználóneve. Ha nincs megadva, akkor a Windows Integrált Biztonságot használják. |
PASSWORD |
String | Adatbázis felhasználói jelszó. |
AUTOCOMMIT |
logikai | Beállítás False , hogy Django tranzakciókezelését letiltsd. Az alapértelmezett érték True. |
Trusted_Connection |
String | Állítsd "yes" be (alapértelmezett) módra, hogy használd a Windows Integrált Biztonságot, ha USER nincs megadva. Ha USER és PASSWORD mindkettő be van állítva, ezek a hitelesítések elsőbbséget vesznek fel, és Trusted_Connection figyelmen kívül hagyják. Állítsd be a "no" Windows authentication explicit letiltására. Ez egy mssql-django kiterjesztés, nem egy szokásos Django beállítás. |
TOKEN |
String | Hozzáférési token a Microsoft Entra hitelesítéshez (például a ).azure.identity Ez egy mssql-django kiterjesztés, nem egy szokásos Django beállítás. |
TESZT beállítások
Ezek a beállítások irányítják a Django tesztfutója által használt tesztadatbázist:
| Setting | Típus | Description |
|---|---|---|
NAME |
String | Tesztadatbázis név. Alapértelmezett: "test_" + NAME. |
COLLATION |
String | A tesztadatbázis összeállítása. Alapértelmezett: instance default. |
DEPENDENCIES |
Lista | Az adatbázis létrehozási sorrendi függőségei. |
MIRROR |
String | Egy adatbázis alias-a, amelyet tesztelés közben tükrözni lehet. |
Example:
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",
},
},
}
LEHETŐSÉGEK
A OPTIONS szótár backend-specifikus konfigurációt biztosít. Helyezd DATABASES["default"]["OPTIONS"] el ezeket a beállításokat a szótárban:
| Option | Típus | Alapértelmezett | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
ODBC illezőprogramot kell használni. Automatikusan visszakerül a 17-es meghajtóra, ha a 18-as nincs telepítve. |
isolation_level |
String | None |
Tranzakcióelkülönítési szint: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READSNAPSHOTvagy SERIALIZABLE. |
dsn |
String | None |
DSN-nek hívják. Használható helyette.HOST |
host_is_server |
logikai | False |
Úgy állítom, hogy True közvetlenül a FreeTDS-szel használjamPORTHOST/az adatszerver freetds.conf név helyett. |
unicode_results |
logikai | False |
Aktiváld a unicode_results pyodbc funkcióját. |
extra_params |
String | None |
További ODBC paraméterek formátumban "param=value;param=value" .
Microsoft Entra hitelesítéshez használva. |
collation |
String | None |
Szövegmező lekérdezésekhez való összeállítás (például, "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Kapcsolat időkorlátja másodpercekben (0 = letiltva). |
connection_retries |
Integer | 5 |
A kapcsolat újrapróbálkozásának száma. |
connection_retry_backoff_time |
Integer | 5 |
A visszalépési idő másodpercekben a próbálkozások között. |
query_timeout |
Integer | 0 |
Lekérdezés időtúllépése másodpercekben (0 = letiltva). |
setencoding / setdecoding |
Lista | None |
PyoDBC kódolási / dekódolás. |
return_rows_bulk_insert |
logikai | False |
Engedd meg a sorok visszatérését a tömeges behelyezésből. Biztosan van False , ha a tábláknak vannak triggerjei. |
datefirst |
Integer | 7 |
A hét első napja .SET DATEFIRST
7vasárnap (SQL Server alapértelmezett), 1 hétfő. |
driver_needs_utf8 |
Csak jelenlét-opció | Nincs beállítva | Engedélyezze az UTF-8 kódolást az ODBC illezőgéphez. Ez az opció akkor van engedélyezve, ha a kulcs jelen van ; OPTIONSaz értéket figyelmen kívül hagyjuk. Általában FreeTDS vagy régebbi unixODBC konfigurációknál szükséges, amelyek alapértelmezetként Latin-1-et használnak. |
driver_charset |
String | None |
Explicit karakterkészlet az ODBC illezőprogramhoz (például "UTF-8"). Használd akkor is driver_needs_utf8 , amikor a meghajtó nem érzékeli automatikusan a kódolást. |
connection_recovery_interval_msec |
Lebegés | 0.0 |
Milliszekundumok várakozásra a háttérrendszer kapcsolat helyreállítási ciklusában hálózati hiba után. Növeld ezt az értéket instabil hálózati kapcsolatok esetén. |
Példa a gyakori opciókkal:
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-specifikus beállítások
Ez a beállítás a modul szintjén van a settings.pyszótáron kívül DATABASES :
| Setting | Típus | Alapértelmezett | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
logikai | True |
Állítsd be, False hogy letiltsd a pyodbc kapcsolati poolingját. |
Example:
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