描述:用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)]
相关推荐
本文将深入探讨`django-pyodbc-azure`,这是一个Django后端适配器,使得Python的Django框架能够通过pyodbc库与Microsoft SQL Server和Azure SQL数据库进行无缝集成。这个项目的目标是提供一个稳定且高性能的解决方案...
Django-PyODBC是Django框架的一个扩展,它允许开发者使用Python的ODBC接口连接到像Microsoft SQL Server这样的数据库系统。在Python的世界里,Django是一个流行的Web开发框架,以其“快速、可扩展且美观”的特性而...
该驱动程序实现了在之上构建的对Microsoft SQL Server的基本GIS(geodjango)支持。 在此阶段,应将其视为非常具有alpha品质! 反馈,问题和补丁都非常受欢迎。支持和不支持的操作支持大多数。 主要的例外是那些包括...
pyodbc是在多个平台上从Python访问SQL Server的成熟,可行的方法,并且得到了积极维护。 SQLAlchemy也将其用于SQL Server连接。 这是原始的分支,驻留在Google Code上,于2011年进行了更新。 特征 [x]通过pip ...
根据提供的信息,需要安装的是`django-pyodbc-azure`这个包,这个包是专为在Django中使用SQL Server设计的。此外,还需要确保系统上安装了ODBC驱动,因为`django-pyodbc-azure`依赖于ODBC与SQL Server进行通信。如果...
1. 安装Python的SQL Server连接库,如pymssql、pyodbc或django-pyodbc-azure。 2. 配置Django的DATABASES设置,提供数据库名称、用户、密码、主机和端口信息。 3. 确保使用的Django版本与所选的数据库适配器兼容。 4...
注意,尽管这个配置是针对Django 1.6和SQL Server 2008的,但随着技术的发展,更现代的解决方案可能建议使用更新的Python版本(如Python 3),以及更稳定和维护良好的数据库适配器,如`pyodbc`或`sqlalchemy`。
《Django MSSQL 1.4:连接Python与SQL Server的桥梁》 在Python的世界里,Django是一个广受欢迎的Web开发框架,以其强大的功能和高效性著称。然而,当开发者需要处理与Microsoft SQL Server的数据交互时,Django...
Django通常通过Python的数据库API(如pymssql或pyodbc)与数据库进行交互,而这些驱动会依赖于系统上已经安装的SQL Server Native Client或者其他兼容的ODBC驱动。 安装SQL Server Native Client 10.0后,你需要在...
1. Python基础:包括变量、数据类型、控制结构、函数等基础知识,以及如何使用Python的数据库连接库(如pyodbc、pymssql或pandas)来操作SQL Server数据库。 2. SQL语言:包括SELECT、INSERT、UPDATE、DELETE等基本...
Python有多种数据库接口,如pymysql、pyodbc或pysqldriver,其中可能使用了某一种或自定义的适配器来实现与SQL Server的连接。系统的数据存储和管理功能依赖于SQL Server,这是一个强大且广泛使用的商业关系型数据库...
Python因其简洁的语法和丰富的库支持,在数据科学领域广泛应用,尤其在与数据库交互方面,Python提供了一些优秀的库,如pandas、sqlite3、pyodbc、psycopg2等,这些库使得通过Python执行SQL查询变得非常方便。...
Python的多种框架如Flask或Django可以轻松构建Web应用程序,同时,Python的数据库接口模块(如pyodbc或pymssql)使得与SQL SERVER的通信变得简单。 SQL SERVER,作为Microsoft公司的一款关系型数据库管理系统,以其...
主要使用的Python库可能包括`pandas`进行数据处理,`Flask`或`Django`作为Web框架,以及`pyodbc`或`pymssql`用于与SQLServer数据库的交互。 2. **SQLServer数据库**:SQLServer是一个关系型数据库管理系统,用于...
在Python和Django的项目中,可能使用了如psycopg2(PostgreSQL)、pyodbc(ODBC兼容数据库)、mysql-connector-python(MySQL)等库来实现数据库连接和操作。 【毕业设计】 毕业设计是高等教育中的一项重要任务,...
Django的`django-db-pool`或`django-pyodbc-azure`等扩展可以提供此类功能。同时,了解Django的异步支持(如`asyncio`和`ThreadPoolExecutor`)也是提升性能的关键,特别是处理耗时的数据库操作时。 总之,连接...
在Python中,可以使用pyodbc、pymssql或pymsql等库来连接和操作SQL Server数据库。 在数据库设计阶段,主要考虑的是数据表的结构和关系。例如,可能有以下几个关键表: 1. 用户表(Users):存储管理员和租户的基本...
【标题】"基于Inception的可视化web端sql审核平台-python" 涉及的主要知识点是构建一个使用Python语言开发的,基于Inception架构的Web应用程序,用于SQL审计和可视化。Inception是一个开源项目,旨在提供SQL安全审计...
- **连接数据库**:利用Python中的pyodbc或pymssql库与SQL Server建立连接。 - **数据模型设计**:根据需求分析阶段确定的功能模块,设计出符合实际业务逻辑的数据表结构。 - **安全性考虑**:在用户登录验证、...
Python支持多种数据库,如MySQL、SQLite、PostgreSQL等,通过Python的数据库API如sqlite3、pyodbc或psycopg2进行交互。 3. **模板引擎**:为了动态生成网页,开发者通常会使用模板引擎,如Django的模板语言或Jinja2...