Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Django veritabanı settings.py arka uçunun tam mssql-django yapılandırma referansıdır. Django projenizin DATABASES dosyasındaki sözlüğü düzenleyerek settings.py SQL Server bağlantısını yapılandırın.
En az yapılandırma
Aşağıdaki örnek, minimum gerekli yapılandırmayı gösterir:
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",
},
},
}
Veritabanı bağlantı ayarları
Bu ayarlar bağlantınızı DATABASES ayarlar. Çoğu standart Django ayarlarıdır; İstisnalar belirtilmektedir:
| Setting | Type | Description |
|---|---|---|
ENGINE |
String | olmalıdır "mssql". |
NAME |
String | Veritabanı adı. Gerekli. |
HOST |
String | Sunucu ana adı veya IP adresi. Adlandırılmış örnekler için format kullanın "server\\instance" . |
PORT |
String | Sunucu örneği portu. Boş dize, varsayılan port anlamına gelir. |
USER |
String | Veritabanı kullanıcı adı. Verilmezse, Windows Entegre Güvenlik kullanılır. |
PASSWORD |
String | Veritabanı kullanıcı şifresi. |
AUTOCOMMIT |
Boolean | Django'nun işlem yönetimini devre dışı bırakmak için ayarlandı False . Varsayılan True değeridir. |
Trusted_Connection |
String |
"yes" Windows Entegre Güvenliği sağlanmadığında USER (varsayılan) olarak ayarlayın.
USER Her ikisi de ayarlandığındaPASSWORD, bu kimlik bilgileri öncelikli olur ve Trusted_Connection göz ardı edilir. Windows authentication'ı açıkça devre dışı bırakmak için ayarlandı"no". Bu bir mssql-django uzantı, standart bir Django ortamı değil. |
TOKEN |
String | Microsoft Entra doğrulaması için erişim tokenı (örneğin, aracılığıylaazure.identity). Bu bir mssql-django uzantı, standart bir Django ortamı değil. |
TEST ayarları
Bu ayarlar, Django'nun test koşucusu tarafından kullanılan test veritabanını kontrol eder:
| Setting | Type | Description |
|---|---|---|
NAME |
String | Test veritabanı adı. Varsayılan: "test_" + NAME. |
COLLATION |
String | Test veritabanı için derleme. Varsayılan: örnek varsayılan. |
DEPENDENCIES |
Liste | Veritabanının oluşturulma sırası bağımlılıkları. |
MIRROR |
String | Test sırasında yansıtmak için bir veritabanı takma adı var. |
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",
},
},
}
SEÇENEKLER
Sözlük OPTIONS , arka uç spesifik yapılandırma sağlar. Bu ayarları sözlüğe DATABASES["default"]["OPTIONS"] yerleştirin:
| Option | Type | Varsayılan | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
ODBC sürücüsü kullanmak için. 18 yüklü değilse otomatik olarak Driver 17'ye geri dönüyor. |
isolation_level |
String | None |
İşlem yalıtım düzeyi: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SNAPSHOTveya SERIALIZABLE. |
dsn |
String | None |
DSN olarak adlandırıldı. yerine HOSTkullanılabilir. |
host_is_server |
Boolean | False |
Veri sunucusu adı yerine True doğrudan FreeTDS ile kullanmakHOST/PORTüzere ayarlandıfreetds.conf. |
unicode_results |
Boolean | False |
pyodbc'nin özelliğini unicode_results etkinleştir. |
extra_params |
String | None |
Ek ODBC parametreleri formatta "param=value;param=value" .
Microsoft Entra kimlik doğrulaması için kullanıldı. |
collation |
String | None |
Metin alanı araştırmaları için derleme (örneğin, "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Bağlantı süresi saniyeler içinde (0 = devre dışı bırakıldı). Otomatik duraklatma etkin olan Azure SQL Veritabanı serverless için en az 60 kullanın. Otomatik duraklatılmış bir veritabanı ilk bağlantıda devam eder ve devam işlemi 30 ila 60 saniye veya daha fazla sürebilir. |
connection_retries |
Integer | 5 |
Bağlantı yeniden deneme sayısı. |
connection_retry_backoff_time |
Integer | 5 |
Denemeler arasındaki geri çekilme süresi saniyelerde. |
query_timeout |
Integer | 0 |
Sorgu zaman aşımını saniyeler cinsinden (0 = devre dışı bırakıldı). |
setencoding / setdecoding |
Liste | None |
PyoDBC kodlama / çözme yapılandırması. |
return_rows_bulk_insert |
Boolean | False |
Toplu yerleştirmeden geri sıraların döndürülmesine izin verin. Tablolarda tetikleyiciler varsa olmalı False . |
datefirst |
Integer | 7 |
Haftanın ilk günü .SET DATEFIRST
7Pazar (SQL Server varsayılan), 1 Pazartesi. |
driver_needs_utf8 |
Sadece varlık seçeneği | Ayarlanmadı | ODBC sürücüsü için UTF-8 kodlamasını etkinleştirin. Bu seçenek, anahtar bulunduğunda OPTIONSetkinleştirilir; değer kendisi göz ardı edilir. Genellikle FreeTDS veya varsayılan olarak Latin-1 olan eski unixODBC yapılandırmalarında gereklidir. |
driver_charset |
String | None |
ODBC sürücüsü için açık karakter seti (örneğin, "UTF-8"). Sürücü otomatik kodlama algılamadığında kullanın driver_needs_utf8 . |
connection_recovery_interval_msec |
Float | 0.0 |
Ağ hatasından sonra arka uçun bağlantı kurtarma döngüsünde tekrar deneme girişimleri arasında milisaniyeler beklemek için milisaniyeler. Dengesiz ağ bağlantıları için bu değeri artırın. |
Yaygın seçeneklerle bir örnek:
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,
},
},
}
Arka uç özel ayarlar
Bu ayar, sözlüğün settings.py dışındaki modül düzeyinde DATABASESyer alır:
| Setting | Type | Varsayılan | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
Boolean | True |
pyodbc'nin bağlantı havuzunu devre dışı bırakmak için ayarla False . |
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