描述:用django访问sql server,网上有介绍几种方法,这是主要介绍django-pyodbc
测试环境:
系统: ubuntu 12.04
django 1.4
python 2.7
pyodbc 3.0.3 (python连接sql server的包)
django-pyodbc 1.2 (一个django连接数据库的第三方包,主要用pyodbc连接sql server)
安装调试
主要参考文档:
http://logrit.com/weblog/2012/07/16/accessing-sql-server-mssql-database-django/
http://tzangms.com/programming/2391/
关于利用pyodbc访问sql server,可参考以前写的一篇文档:
http://xiaolin0199.iteye.com/blog/2020913
安装odbc和pyodbc
sudo apt-get install unixodbc unixodbc-dev freetds-dev tdsodbc python-dev sudo easy_install pyodbc
配置odbc
修改/etc/odbc.ini,添加
[ODBC Data Sources] ODBCNAME = Microsoft SQL Server [MSSQL-PYTHON] Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so Description = Hi! This is a description of the MSSQL-PYTHON driver Trace = No #Database = cxonline Server = 192.168.0.47 Port = 1433
测试
可通过isql命令测试odbc是否可连接服务器192.168.0.47上的sql server
isql -v MSSQL-PYTHON <Username> <Password> SELECT TOP 1 * FROM <SomeTable>
安装django-pyodbc
django-pyodbc (google-code):http://code.google.com/p/django-pyodbc/
可通过以下命令安装:
svn checkout http://django-pyodbc.googlecode.com/svn/trunk/ django-pyodbc-read-only cd django-pyodbc-read-only python setup.py build install
当然也可以直接将安装包中的sql_server copy到要使用的项目根目录下,
由于下面要说的该包中有一个小bug,所以我直接将包copy到项目根目录下,修改bug后加入svn
关于django-pyodbc的一个bug
修改sql_server/pyodbc/operations.py 10行
def __init__(self, connection): #super(DatabaseOperations, self).__init__() super(DatabaseOperations, self).__init__(connection) self.connection = connection self._ss_ver = None
django-pyodbc的使用
只要配置下数据库就可以连接sql server,而且可使用django原来的orm的写法
包括通过模型的定义来创建数据库等
修改 settings.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'icgoo_manage', # Or path to database file if using sqlite3. 'USER': 'lidongdev', # Not used with sqlite3. 'PASSWORD': 'xxxxx', # Not used with sqlite3. 'HOST': '192.168.0.8', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. }, 'mssql': { 'NAME': 'cxonline_new', 'ENGINE': 'sql_server.pyodbc', 'HOST': '192.168.0.47', 'USER': 'sa', 'PASSWORD': 'xxxxxx', 'PORT': '1433', # Set to empty string for default. Not used with sqlite3. 'OPTIONS': { 'host_is_server': False, 'dsn': 'MSSQL-PYTHON', }, } } DATABASE_OPTIONS = { 'host_is_server': False, 'dsn': 'MSSQL-PYTHON', }
settings中关键是需要定义dsn到上面配置好的odbc数据源
'dsn': 'MSSQL-PYTHON',
简单调试
#进入django项目的shell调试 $python manage.py shell >>> from django.db import connections >>> conn = connections['mssql'] >>> cur = conn.cursor() >>> cur.execute('select Top 1 * from _CRM_Company') <pyodbc.Cursor object at 0xac1b528> >>> cur.fetchall() [(13528, u'\u91cd\u5e86\u65e0\u7ebf\u7eff\u6d32\u901a\u4fe1\u6280\u672f\u6709\u9650\u516c\u53f8', None, 1, u' ', None, u' ', u' ', None, None, None, No ne, False, 0, None, True, 83, 1, datetime.datetime(2008, 8, 28, 8, 55, 2, 240000), None, 2, None, -1, 0.0, 0.0)]
相关推荐
资源分类:Python库 所属语言:Python 资源全名:django-pyodbc-azure-1.2.10.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:django-pyodbc-azure-1.0.11.zip 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
django-python3-ldap, python 3的Django LDAP用户身份验证后端 django-python3-ldapdjango-python3-ldap 为 python 2和 3提供了一个 Django LDAP用户身份验证后端。特性使用LDAP服务器验证用户身份。将LDAP用户与...
django-pyodbc-azure:使用pyodbc的Microsoft SQL Server和Azure SQL数据库的Django后端
支持django使用SQL server作为数据源: DATABASES = { 'default': { 'NAME': 'my_database', 'ENGINE': 'sqlserver_ado', 'HOST': 'dbserver\\ss2008', 'USER': '', 'PASSWORD': '', } }
资源来自pypi官网。 资源全名:django-tables2-column-shifter-0.3.0.tar.gz
python3接入单点登录必备包
python库。 资源全名:django-livereload-server-0.3.3.tar.gz
资源来自pypi官网。 资源全名:django_ftpserver-0.4.0-py2.py3-none-any.whl
该驱动程序实现了在之上构建的对Microsoft SQL Server的基本GIS(geodjango)支持。 在此阶段,应将其视为非常具有alpha品质! 反馈,问题和补丁都非常受欢迎。支持和不支持的操作支持大多数。 主要的例外是那些包括...
Python在线考试系统后端-大学毕业设计-基于Django+Django -Rest-Framework Python在线考试系统后端-大学毕业设计-基于Django+Django -Rest-Framework Python在线考试系统后端-大学毕业设计-基于Django+Django -Rest-...
为支持django3对django_cas_server进行修改,CAS_SQL_PASSWORD_CHECK 默认值 ldap
1、基于Django+Django -Rest-Framework+Python的在线考试系统后端(源码).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...
django-admin-bootstrap-master.zip
资源分类:Python库 所属语言:Python 资源全名:django-proxy-server-0.3.2.macosx-10.10-x86_64.exe 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
django-pyodbc是由库提供支持的 SQL Server DB后端。 pyodbc是在多个平台上从Python访问SQL Server的成熟,可行的方法,并且得到了积极维护。 SQLAlchemy也将其用于SQL Server连接。 这是原始的分支,驻留在Google...
django-classy-tags, 基于类的Django 模板标记 django-classy-tags请参考文档/目录中的文档以获得帮助。 有关HTML呈现版本的信息,请参见这里的 。 这里项目这个项目的目标是创建一种新的编写 Django 模板标签的方法...
资源分类:Python库 所属语言:Python 资源全名:django-pyodbc-0.2.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
python库,解压后可用。 资源全名:django_sql_dashboard-0.1a2-py3-none-any.whl