加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python连接SQLServer数据库

(2019-05-19 16:35:28)
标签:

电脑技术

分类: 慕课手记
资料来源:学习慕课手记

方法一:


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、安装必要的组件:

  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',

        },

    }

}

方法三(Django):


1、需要安装 SQL Server Management Studio 或者 manually install Microsoft Data Access Components (MDAC)程序。


2、安装django-mssql和pywin32:

  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': '',

          'OPTIONS': {

              'driver':'SQL Server Native Client 11.0',

              'MARS_Connection': True,

         },

     },

}

# set this to False if you want to turn off pyodbc's connection pooling

DATABASE_CONNECTION_POOLING = False


注意:

SQLAlchemy 支持两种方式连接MS SQL Server

第一种用 ODBC方式,在windows要先建立到SQL SERVER的 ODBC数据源
然后安装Pyodbc这个驱动包
https://pypi.python.org/pypi/pyodbc/

创建引擎语法
engine = create_engine('mssql+pyodbc://login:passwd@mydsn')

第二种用DBAPI,安装pymssql这个驱动包
https://pypi.python.org/pypi/pymssql
http://pymssql.org/en/stable/intro.html#install
创建引擎语法
engine = create_engine('mssql+pymssql://login:passwd@hostname:port/dbname')

建议用第二种方式,性能和功能都更强些。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有