django-pyodbc
django-pyodbc copied to clipboard
Deprecated. Please visit the fork at https://github.com/lionheart/django-pyodbc/
############# DEPRECATED
This fork has been abandoned in favor of https://github.com/lionheart/django-pyodbc/, which contains all fixes from this fork as well as numerous others (including django 1.5 support). It is being actively maintained, and since I no longer work at the organization that required this library, I have no intention of continuing the efforts. Please visit https://github.com/lionheart/django-pyodbc/ for ongoing changes. #############
What follows is the original README.txt file.
============= django-pyodbc
A Django_ MS SQL Server external DB backend that uses ODBC by employing the pyodbc_ library. It supports SQL Server 2000 and 2005.
.. _Django: http://djangoproject.com/ .. _pyodbc: http://pyodbc.sourceforge.net
Features
- Supports LIMIT+OFFSET and offset w/o LIMIT emulation under SS2005.
- Supports LIMIT+OFFSET under SS2000.
- Transparently supports Django's TextField both under SS2000 and SS2005.
- Passes most of the tests of the Django test suite.
- Compatible with SQL Server and SQL Server Native Client from Microsoft (Windows) and FreeTDS ODBC drivers (Linux).
Dependencies
- Django from SVN, revision 8328 or newer (1.0 is r8961.)
- pyodbc 2.0.58 or newer
Installation
-
Install pyodbc.
-
Add the directory where you have copied the project files to your Python path. So, for example, if you have the following directory structure::
/home/user/src/django-pyodbc | +- sql_server | +- pyodbc
you should add
/home/user/src/django-pyodbc
to you Python module search path. One way to do this is setting thePYTHONPATH
environment variable::$ export PYTHONPATH=/home/user/src/django-pyodbc
-
Now you can point the
DATABASE_ENGINE
setting in the settings file used by your Django application or project to the'sql_server.pyodbc'
module path::DATABASE_ENGINE='sql_server.pyodbc'
Configuration
The following settings control the behavior of the backend:
Standard Django settings
DATABASE_NAME
String. Database name. Required.
DATABASE_HOST
String. SQL Server instance in "server\instance"
format.
DATABASE_PORT
String. Server instance port.
DATABASE_USER
String. Database user name. If not given then MS Integrated Security will
be used.
DATABASE_PASSWORD
String. Database user password.
DATABASE_OPTIONS
Dictionary. Current available keys are:
``autocommit``
Boolean. Indicates if pyodbc should direct the the ODBC driver to
activate the autocommit feature. Default value is ``False``.
``MARS_Connection``
Boolean. Only relevant when running on Windows and with SQL Server 2005
or later through MS *SQL Server Native client* driver (i.e. setting
``DATABASE_ODBC_DRIVER`` to ``"SQL Native Client"``). See
http://msdn.microsoft.com/en-us/library/ms131686.aspx.
Default value is ``False``.
``host_is_server``
Boolean. Only relevant if using the FreeTDS ODBC driver under
Unix/Linux.
By default, when using the FreeTDS ODBC driver the value specified in
the ``DATABASE_HOST`` setting is used in a ``SERVERNAME`` ODBC
connection string component instead of being used in a ``SERVER``
component; this means that this value should be the name of a
*dataserver* definition present in the ``freetds.conf`` FreeTDS
configuration file instead of a hostname or an IP address.
But if this option is present and it's value is True, this special
behavior is turned off.
See http://freetds.org/userguide/dsnless.htm for more information.
django-pyodbc
-specific settings
DATABASE_ODBC_DSN
String. A named DSN can be used instead of DATABASE_HOST
.
DATABASE_ODBC_DRIVER
String. ODBC Driver to use. Default is "SQL Server"
on Windows and
"FreeTDS"
on other platforms.
DATABASE_EXTRA_PARAMS
String. Additional parameters for the ODBC connection. The format is
"param=value;param=value"
.
DATABASE_COLLATION
String. Name of the collation to use when performing text field lookups
against the database. Default value is "Latin1_General_CI_AS"
.
For Chinese language you can set it to "Chinese_PRC_CI_AS"
.
License
New BSD LICENSE
Credits
- Ramiro Morales
<http://djangopeople.net/ramiro/>
_ - Filip Wasilewski (http://code.djangoproject.com/ticket/5246)
- Wei guangjing
<http://djangopeople.net/vcc/>
_ - mamcx (http://code.djangoproject.com/ticket/5062)
- Alex Vidal
<http://github.com/avidal/>
_