python SQLサーバデータベースへの接続


方法1:
1、pymssqlをインストールする必要がある
  pip install pymssql

2、接続コード:
import pymssql

conn=pymssql.connect(host='127.0.0.1',user='user',password='password',database='MyDB')
cur=conn.cursor()
cur.execute('select * from table1')
#     、  、            con.commit()
print (cur.fetchall())
cur.close()
conn.close()

以下Djangoでの操作
Django 1.11 mssqlのリンク方法
ツール:django-pyodbc-azuredjango-pyodbc-azureこのツールは現在私が知っている限り最も使いやすいdjangoリンクmssqlのライブラリです.多くのバージョンがあります.Djangoバージョンに合わせてダウンロードする必要があります.Webサイトを添付:https://pypi.org/project/django-pyodbc-azure/1.11.0.0/履歴バージョンから説明ドキュメントを見て、あなたのdjangoバージョンに適しているかどうかを見ることができます.ここでは1.11バージョンの説明ドキュメントを見てください.
MSSQLデータベースへの接続を設定します.使用例:
DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'mydb',
        'USER': 'user',
        'PASSWORD': 'password',
        'HOST': 'myserverip',
        'PORT': '',

        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',   #                ODBC Driver 13 for SQL Server。
        },
    },
}
# set this to False if you want to turn off pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False

ODBC Driver 13のリンクを添付します.https://www.microsoft.com/en-us/download/details.aspx?id=50420
メソッド2(Django操作):
1、必要なコンポーネントをインストールする:
  pip install django-sqlserver django-pytds pyodbc django-pyodbc pypiwin32  

2、settingsを修正する.pyのDATABASES:
DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'sqlserver',
        'NAME': 'MyDB',
        'HOST': '127.0.0.1',
        'PORT': '1433',
        'USER': 'user',
        'PASSWORD': 'password,
        'OPTIONS': {
            'DRIVER': 'SQL Server Native Client 10.0',
        },
    }
}

方法3(Django):
1.SQL Server Management Studioまたはmanually install Microsoft Data Access Components(MDAC)プログラムをインストールする必要があります.
2、django-mssqlとpywin 32をインストールする.
  pip install django-mssql

3、settingsを修正する.pyのDATABASES:
DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }

       'default': {
        'NAME': 'MyDB',
        'ENGINE': 'sqlserver_ado',
        'HOST': '127.0.0.1',
        'USER': 'user',
        'PASSWORD': 'password',
        'OPTIONS': {
            #provider 'SQLCLI10'     ,   'SQLOLEDB' ,    。
            'provider': 'SQLOLEDB', # Have also tried 'SQLCLI11' and 'SQLOLEDB'
            'extra_params': 'DataTypeCompatibility=80'
        },
    }
}

方法四(Django):
1、django-pyodbc-azureとpyodbcのインストール
    pip install django-pyodbc-azure pyodbc

2、settingsを修正する.pyのDATABASES:
DATABASES = {
    'default': {
         'ENGINE': 'sql_server.pyodbc',         #       
         'NAME': 'MyDB',                               #        
         'USER': 'user',                                  #      
         'PASSWORD': 'password',              #      
         'HOST': '127.0.0.1',                         #       
         'PORT': '',                                        #      ,      
                 #  ,            ODBC     ,     ,  10.0    ,     ODBC    
          'OPTIONS': {
              'driver':'SQL Server Native Client 11.0',
              'MARS_Connection': True,       #  MARS (multiple active result sets),    
         },
     },
}
# set this to False if you want to turn off pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False