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ı mssql-django arka uçunun tam settings.py yapılandırma referansıdır. Django projenizin settings.py dosyasındaki sözlüğü düzenleyerek DATABASES 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 freetds.conf doğrudan FreeTDS ile kullanmak/PORTHOSTüzere ayarlandıTrue. |
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ı). |
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 DATABASES dışındaki modül düzeyinde settings.pyyer 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