2015-09-23 13 views
5

Tôi muốn sử dụng SQL Server làm phụ trợ cho Django, nhưng tôi đã nhận được điều này khi gỡ lỗi dự án web. 'sql_server.pyodbc' không phải là phần phụ cơ sở dữ liệu có sẵn. Lỗi là: Không có mô đun nào có tên sql_server.pyodbc.base.Không có mô đun nào có tên sql_server.pyodbc.base

Môi trường Python (Python 2.7) với Django (1.7), pyodbc (3.0.10), pywin32 (218.3). Và đây là settings.py của tôi:

DATABASES = { 
'default': { 
    'ENGINE': 'sql_server.pyodbc', 
    'NAME': 'DatabaseName', 
    'USER': 'user', 
    'PASSWORD': 'pwd', 
    'HOST': '127.0.0.1', 
    'PORT': '', 
    'OPTIONS': { 
     'driver': 'SQL Server Native Client 11.0', 
     'server': 'ServerName', 
     'MARS_Connection': True, 
     'dsn': 'MSSQL-PYTHON', 
     }, 
    } 
} 

Trả lời

10

Bạn chưa cài đặt gói với chương trình phụ trợ DB bắt buộc.

Do:

pip install django-pyodbc 
pip install django-pyodbc-azure 

Xem doc này và this one.

Một ví dụ về các thiết lập cơ sở dữ liệu từ các liên kết thứ hai:

DATABASES = { 
'default': { 
    'ENGINE': 'sql_server.pyodbc', 
    'NAME': 'mydb', 
    'USER': '[email protected]', 
    'PASSWORD': 'password', 
    'HOST': 'myserver.database.windows.net', 
    'PORT': '', 

    'OPTIONS': { 
     'driver': 'SQL Server Native Client 11.0', 
    }, 
    }, 
} 

#set this to `False` if you want to turn off pyodbc's connection pooling: 
DATABASE_CONNECTION_POOLING = False 
+1

Tôi đã cài đặt django-pyodbc như bạn đã đề xuất, mặc dù đã có một đĩa pyodbc. Nó đã cho tôi cùng một lỗi. – Zerubbabel

+1

Dường như bạn vẫn chưa có gói phụ trợ phù hợp. Bạn đã thử [this one] (https://pypi.python.org/pypi/django-pyodbc-azure/1.8.3.0)? – Ivan

+0

Liên kết bạn đưa ra về django-pyodbc-azure 1.8.3.0 thực sự đã giải quyết được vấn đề. Bằng cách nào đó khi tôi cài đặt nó, nó cũng cập nhật Django của tôi lên 1.8.4. Vì vậy, tôi đoán phù hợp với phiên bản thực sự quan trọng. Vui lòng cập nhật câu trả lời của bạn để tôi có thể chấp nhận câu trả lời. Cảm ơn nhiều! – Zerubbabel

0

Hãy xem this link:

DATABASES = { 
    'default': { 
     'NAME': 'my_database', 
     'ENGINE': 'sqlserver_ado', 
     'HOST': 'dbserver\\ss2008', 
     'USER': '', 
     'PASSWORD': '', 
    } 
} 

Giả sử là bạn có thể sử dụng SQL Server với Django MSSQL (link ở trên). bạn có thể muốn kiểm tra [tài liệu Django] để xem những gì hỗ trợ cơ sở dữ liệu khác django hỗ trợ "nguyên bản". (https://docs.djangoproject.com/en/1.8/ref/settings/#databases)

Các vấn đề liên quan