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, varsayılan pyodbc yol için minimum gerekli yapılandırmayı göstermektedir:
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",
},
},
}
Bunun yerine takma adı mssql-python çalıştırmak için python_driver ayar ve çıkar driver. Yol mssql-python göz ardı drivereder:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "<database>",
"USER": "<user_id>",
"PASSWORD": "<password>",
"HOST": "<server>",
"PORT": "1433",
"OPTIONS": {
"python_driver": "mssql_python",
},
},
}
ENGINE her iki yolda da kalıyor "mssql" . Aynı projedeki takma adlar farklı sürücüler kullanabilir. Davranış farklılıklarının tam listesi için, mssql-django için veritabanı sürücüsünü seç bölümüne bakınız.
Belirtilmedikçe, bu makalenin geri kalanındaki örnekler varsayılan pyodbc yolu gösterir.
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 |
|---|---|---|---|
python_driver |
String | Ayarlanmadı | Bu takma adı sürücü üzerinden mssql-python bağlamak için ayarlandı"mssql_python". Varsayılan pyodbc sürücü ayarlanmadı veya "pyodbc" korundu. Bkz. Mssql-django için veritabanı sürücüsünü seç. |
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. Yolda mssql-python görmezden gelindim. |
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. Yolda mssql-python görmezden gelindim. |
host_is_server |
Boolean | False |
Veri sunucusu adı yerine True doğrudan FreeTDS ile kullanmakHOST/PORTüzere ayarlandıfreetds.conf. Yolda mssql-python görmezden gelindim. |
unicode_results |
Boolean | False |
pyodbc'nin özelliğini unicode_results etkinleştir. Yolda mssql-python görmezden gelindim. |
extra_params |
String | None |
Ek bağlantı dizesi parametreleri formatta"param=value;param=value".
Microsoft Entra kimlik doğrulaması için kullanıldı. Yol, mssql-python bunları izin listesine göre doğrular. |
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 olarak duraklatılan bir veritabanı, ilk bağlantı denemesinde yeniden etkinleşir ve veritabanı yeniden etkinleşirken bu deneme 40613 hatasıyla başarısız olabilir; bu nedenle uygulama yeniden denemelidir. Daha fazla bilgi için bkz. Otomatik duraklatma ve otomatik devam. |
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 |
Kodlama ve çözme yapılandırması, seçilen sürücünün bağlantı yöntemlerine aktarılır. Her setdecoding girişin her iki yolda da bir sqltype anahtarı olması gerekir ve aynı giriş her iki sürücüde de işe yarar.
mssql-python
-99
SQL_WMETADATAkabul eder ve pyodbc reddeder. Pyodbc kodlama ve çözme referansına bakınız. |
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 |
Sürücü seviyesi bağlantı havuzunu devre dışı bırakmak için ayarlandı False . Hem pyodbc de mssql-python. için geçerlidir. |
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 driver-level connection pooling
DATABASE_CONNECTION_POOLING = False