Django kết nối với SQL Server - django / sql_server - pyodbc


8

Tôi đã cố gắng cài đặt django_pyodbcnhưng khi tôi thử thực hiện di chuyển thì gặp lỗi:

django.core.exceptions.ImproperlyConfigured: Django 2.1 không được hỗ trợ.

Định cư của tôi:

'Test_DB': {
    'ENGINE': 'django_pyodbc',
    'NAME': 'TEST',
    'HOST': '127.0.0.1',
    'USER': 'sa',
    'PASSWORD': '123456',
    'OPTIONS': {
        'driver': 'ODBC Driver 12 for SQL Server',
    },
},

Khi tôi cố gắng cài đặt django-pyodbc-azure, tôi đã gặp một lỗi khác:

Hãy thử sử dụng 'django.db.backends.XXX', trong đó XXX là một trong số: 'mysql', 'oracle', 'postgresql', 'sqlite3'

Định cư của tôi:

'Test_DB': {
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'TEST',
    'HOST': '127.0.0.1',
    'USER': 'sa',
    'PASSWORD': '123456',
    'OPTIONS': {
        'driver': 'ODBC Driver 12 for SQL Server',
    },
},

Vậy tôi nên làm gì để có thể kết nối SQL Server 2012?


2
Điều này đã được trả lời ở đây: stackoverflow.com/questions/842831/ từ
gregory

Câu trả lời:


2

Tôi đã tìm kiếm vấn đề này trong một thời gian dài.

Thực sự cảm thấy tức giận mà không ai thực sự nói chi tiết đó là lý do tại sao tôi muốn viết ra để giúp những người sắp đối mặt với câu hỏi này.

Tôi phát hiện ra rằng tôi nên thực hiện các sản phẩm sau để có thể chạy pyodbc trong Django.

1. Cài đặt đầu tiên "Trình điều khiển ODBC 11 cho SQL Server & Cài đặt pyodbc"

  1. Vì máy chủ của tôi đang sử dụng ODBC Driver 11 để trích xuất dữ liệu, tôi nên chuyển nó từ 17 sang 11

  2. Chạy pip cài đặt pyodbc trong terminal

2. cài đặt:

DATABASES = {
'MSSQL':
{
    'ENGINE': 'sql_server.pyodbc',
    'NAME': 'DB_NAME',
    'USER': 'USER',
    'PASSWORD': 'PWD',
    'HOST': 'IP',
    'PORT': '1433',
    'OPTIONS':{
        'driver': 'ODBC Driver 11 for SQL Server',
    },
}

}

3. lượt xem:

import pyodbc
from django.conf import settings

connection = pyodbc.connect(
                            "Driver={" + settings.DATABASES['MSSQL']['OPTIONS']['driver'] + "};"
                            "Server=" + settings.DATABASES['MSSQL']['HOST'] + ";"
                            "Database=" + settings.DATABASES['MSSQL']['NAME'] + ";"
                            "UID=" + settings.DATABASES['MSSQL']['USER'] + ";"
                            "PWD=" + settings.DATABASES['MSSQL']['PASSWORD'] + ";"
                            "Trusted_Connection=no;"
                            )

cursor = self.connection.cursor()
query = """SELECT * FROM DB_NAME;"""
cursor.execute(query)
rows = cursor.fetchall()
columns = [column[0] for column in cursor.description]
data = []
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.