Django 1.5-1.10使用PyODBC的SQL Server后端。
django-pyodbc的Python项目详细描述
django pyodbc
==
版本
…|图片版本:http://img.shields.io/pypi/v/django-pyodbc.svg?风格=平
…_版本:https://pypi.python.org/pypi/django-pyodbc
django-pyodbc是一个"django<;http://djangoproject.com>;``由'pyodbc<;https://github.com/mkleehammer/pyodbc>;``库支持的SQL Server DB后端。pyodbc是在多个平台上从python访问sql server的一种成熟、可行的方法,并且是主动维护的。它也被sqlalchemy用于sql server连接。
这是原始"django pyodbc"的分支<;https://code.google.com/p/django pyodbc/>;`,托管在谷歌代码上,最新更新时间为2011年。
features
--
*[x]对django 1.4-1.10的支持。
*[x]对SQL Server 2000、2005、2008的支持,2012年(如果您成功地使用另一个版本的SQL Server运行此后端,请告诉我们)
*[x]对OpenEdge 11.6的支持
*[x]对"IBM的DB2"的支持<;https://en.wikipedia.org/wiki/IBM的DB2>;`\br/>*[x]本机Unicode支持。每个进入的字符串都存储为unicode,每个出数据库的字符串都返回为unicode。不进行中间编码的转换,因此,像charfield中的max_length_这样的操作与预期一样工作。
*[x]Windows身份验证(集成安全)和SQL Server身份验证。
*[x]在SQL Server 2005下限制+偏移量和偏移量w/o限制模拟。
*[x]在SQL Server 2000下限制+偏移量。
*[x]django的在SQL Server 2000和2005下都有textfield。
*[x]通过了Django测试套件的大多数测试。
*[x]与来自Microsoft(Windows)和FreeTDS ODBC驱动程序(Linux)的SQL Server和SQL Server本机客户端兼容。
todo
--
*[]支持Python 3。有关详细信息,请参阅[47](https://github.com/lionheart/django-pyodbc/issues/47)。
安装django pyodbc。
…代码::python
pip安装django pyodbc
2。现在,您可以使用标准ODBC参数将数据库添加到设置中。
…代码::python
databases={
'默认值':{
'引擎':"django-pyodbc",
'主机':"127.0.0.11433",
'用户':"mssql-u用户",
'密码':"mssql-u密码",
'名称':"数据库名",
"选项":{
"主机是服务器":true
},
}
}
}
>3。就是这样!您已经完成了。*
\**您可能需要配置您的计算机和驱动程序才能完成到数据库服务器的*
`odbc<;https://en.wikipedia.org/wiki/open_database_connectivity>;`
*连接(如果您还没有)。对于Linux,这需要安装并配置Unix ODBC和FreeTDS<;http://www.unix odbc.org/doc/freetds.html>;` `.
*在命令行上迭代以测试您的*
`pyodbc<;https://mkleehammer.github.io/pyodbc/>;` ` ` `连接,例如:*
代码::python
python-c'导入pyodbc;print(pyodbc.connect("dsn=foo bar_mssql_data_source_name;uid=foo;pwd=bar").cursor().execute("select 1")'
*扩展说明*`here<;https://github.com/lionheart/django pyodbc/issues/10>;`
配置
----
以下设置控制后端的行为:
标准django设置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``name``字符串。数据库名称。必需的。
``host``字符串。"服务器实例"或"IP,端口"格式的SQL Server实例。
``port``字符串。SQL Server端口。
``user``字符串。数据库用户名。如果没有给出,则将使用ms integrated security
。
``password``字符串。数据库用户密码。
``options``字典。当前可用密钥:
*``驱动程序`
字符串。要使用的ODBC驱动程序。默认值为Windows上的"SQL Server"和其他平台上的"FreeTDS"。
*``DSN`
string。可以使用命名dsn代替"主机"。
*`"自动提交"`
boolean。指示PyODBC是否应指示ODBC驱动程序激活自动提交功能。默认值为``false`.
*``mars_connection`
boolean。仅当通过MS*SQL Server Native Client*驱动程序(即将"driver"设置为"SQL Server Native client 11.0")在Windows上和SQL Server 2005或更高版本上运行时才相关。请参见http://msdn.microsoft.com/en-us/library/ms131686.aspx。默认值是``false`。
*``主机是`服务器`
boolean。仅当在UNIX/Linux下使用FreeTDS ODBC驱动程序时才相关。
值应该是"freetds.conf"freetds配置文件中存在的*dataserver*定义的名称,而不是主机名或IP地址。
此特殊行为已关闭。
有关详细信息,请参见http://freetds.org/userguide/dsnless.htm。
*`` extra_params`
string。ODBC连接的其他参数。格式为
``"param=value;param=value"`.
*`"collation``
字符串。对数据库执行文本字段查找时要使用的排序规则的名称。对于中文,您可以将其设置为"Chinese_prc_ciu"。如果未指定值,将使用数据库的默认排序规则。
*`` encoding`
string。用于解码此数据库中的数据的编码。默认值为"utf-8"。
*``驱动程序需要utf8``
boolean。一些驱动程序(freetds和其他odbc驱动程序?)还不支持Unicode,因此在这些情况下,SQL子句的编码被强制为UTF-8。
如果不存在此选项,则根据驱动程序集猜测该值。
*`` limit`表表``
boolean。这将限制表列表查询到dbo架构。
*``openedge`
boolean。这将触发对progress openedge
*``left-sql-quote``,``right-sql-quote``
string的支持。指定分别为SQL标识符的左引号和右引号插入的字符串。只有当django pyodbc没有为您的系统猜测正确的报价时,才设置这些参数。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
对于openedge support,请确保同时提供了deiver和openedge额外选项,所有其他参数的工作方式都应相同
要运行测试套件,请执行以下操作:
。代码::bash
python tests/runtests.py--settings=test_ango_ango pyodbc
license
----
此项目最初作为django sql server启动。该项目于2011年被废弃,并于2013年被我们的团队重新启用为django pyodbc。在这个过程中,项目的大部分都进行了重构,并使用现代django最佳实践加快了速度。2013年重写之前完成的工作是根据BSD(3条款)授权的。此后的改进都是在apache
2.0下授权的。请参见"license<;https://github.com/lionheart/django pyodbc/blob/master/license>;``了解更多详细信息。
----
>此项目实现"语义版本控制"<;http://semver.org/>;`。
credits
----
*`aaron aichlmayr<;https://github.com/wateroul>;`\u
*`adam vandenber<;javascript:;"用于在对不同查询类进行子类化时区分它们的代码。">;`\br/>*`alex vidal<;https://github.com/avidal>;`\br/>*` dan loewenherz<;http://dlo.me>;``u
*`filip wasilewski<;http://code.djangoproject.com/ticket/5246"为他的开创性工作,证明这是可能的,并通过与相关供应商技术文章的链接大量记录代码。">;``u
*`michael manfre<;https://github.com/manfre>;`
*`michiya takahashi<;https://github.com/michiya>;`
*`paul tax<;https://github.com/tax>;`
*`ramiro morales<;http://djangople.net/ramiro/>;`
*`wei guangjing<;http://djangople.net/vcc/>;``mamcx<;http://code.django project.com/ticket/5062>;`"第一次使用pymssql实现。"
作为一个技术卓越的例子和建立一个如此令人印象深刻的社区。
*Oracle Django团队(Matt Boersma,Ian Kelly)在实现自定义Django DB后端时提供了一些优秀的想法。
==
版本
…|图片版本:http://img.shields.io/pypi/v/django-pyodbc.svg?风格=平
…_版本:https://pypi.python.org/pypi/django-pyodbc
django-pyodbc是一个"django<;http://djangoproject.com>;``由'pyodbc<;https://github.com/mkleehammer/pyodbc>;``库支持的SQL Server DB后端。pyodbc是在多个平台上从python访问sql server的一种成熟、可行的方法,并且是主动维护的。它也被sqlalchemy用于sql server连接。
这是原始"django pyodbc"的分支<;https://code.google.com/p/django pyodbc/>;`,托管在谷歌代码上,最新更新时间为2011年。
features
--
*[x]对django 1.4-1.10的支持。
*[x]对SQL Server 2000、2005、2008的支持,2012年(如果您成功地使用另一个版本的SQL Server运行此后端,请告诉我们)
*[x]对OpenEdge 11.6的支持
*[x]对"IBM的DB2"的支持<;https://en.wikipedia.org/wiki/IBM的DB2>;`\br/>*[x]本机Unicode支持。每个进入的字符串都存储为unicode,每个出数据库的字符串都返回为unicode。不进行中间编码的转换,因此,像charfield中的max_length_这样的操作与预期一样工作。
*[x]Windows身份验证(集成安全)和SQL Server身份验证。
*[x]在SQL Server 2005下限制+偏移量和偏移量w/o限制模拟。
*[x]在SQL Server 2000下限制+偏移量。
*[x]django的在SQL Server 2000和2005下都有textfield。
*[x]通过了Django测试套件的大多数测试。
*[x]与来自Microsoft(Windows)和FreeTDS ODBC驱动程序(Linux)的SQL Server和SQL Server本机客户端兼容。
todo
--
*[]支持Python 3。有关详细信息,请参阅[47](https://github.com/lionheart/django-pyodbc/issues/47)。
安装django pyodbc。
…代码::python
pip安装django pyodbc
2。现在,您可以使用标准ODBC参数将数据库添加到设置中。
…代码::python
databases={
'默认值':{
'引擎':"django-pyodbc",
'主机':"127.0.0.11433",
'用户':"mssql-u用户",
'密码':"mssql-u密码",
'名称':"数据库名",
"选项":{
"主机是服务器":true
},
}
}
}
>3。就是这样!您已经完成了。*
\**您可能需要配置您的计算机和驱动程序才能完成到数据库服务器的*
`odbc<;https://en.wikipedia.org/wiki/open_database_connectivity>;`
*连接(如果您还没有)。对于Linux,这需要安装并配置Unix ODBC和FreeTDS<;http://www.unix odbc.org/doc/freetds.html>;` `.
*在命令行上迭代以测试您的*
`pyodbc<;https://mkleehammer.github.io/pyodbc/>;` ` ` `连接,例如:*
代码::python
python-c'导入pyodbc;print(pyodbc.connect("dsn=foo bar_mssql_data_source_name;uid=foo;pwd=bar").cursor().execute("select 1")'
*扩展说明*`here<;https://github.com/lionheart/django pyodbc/issues/10>;`
配置
----
以下设置控制后端的行为:
标准django设置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``name``字符串。数据库名称。必需的。
``host``字符串。"服务器实例"或"IP,端口"格式的SQL Server实例。
``port``字符串。SQL Server端口。
``user``字符串。数据库用户名。如果没有给出,则将使用ms integrated security
。
``password``字符串。数据库用户密码。
``options``字典。当前可用密钥:
*``驱动程序`
字符串。要使用的ODBC驱动程序。默认值为Windows上的"SQL Server"和其他平台上的"FreeTDS"。
*``DSN`
string。可以使用命名dsn代替"主机"。
*`"自动提交"`
boolean。指示PyODBC是否应指示ODBC驱动程序激活自动提交功能。默认值为``false`.
*``mars_connection`
boolean。仅当通过MS*SQL Server Native Client*驱动程序(即将"driver"设置为"SQL Server Native client 11.0")在Windows上和SQL Server 2005或更高版本上运行时才相关。请参见http://msdn.microsoft.com/en-us/library/ms131686.aspx。默认值是``false`。
*``主机是`服务器`
boolean。仅当在UNIX/Linux下使用FreeTDS ODBC驱动程序时才相关。
值应该是"freetds.conf"freetds配置文件中存在的*dataserver*定义的名称,而不是主机名或IP地址。
此特殊行为已关闭。
有关详细信息,请参见http://freetds.org/userguide/dsnless.htm。
*`` extra_params`
string。ODBC连接的其他参数。格式为
``"param=value;param=value"`.
*`"collation``
字符串。对数据库执行文本字段查找时要使用的排序规则的名称。对于中文,您可以将其设置为"Chinese_prc_ciu"。如果未指定值,将使用数据库的默认排序规则。
*`` encoding`
string。用于解码此数据库中的数据的编码。默认值为"utf-8"。
*``驱动程序需要utf8``
boolean。一些驱动程序(freetds和其他odbc驱动程序?)还不支持Unicode,因此在这些情况下,SQL子句的编码被强制为UTF-8。
如果不存在此选项,则根据驱动程序集猜测该值。
*`` limit`表表``
boolean。这将限制表列表查询到dbo架构。
*``openedge`
boolean。这将触发对progress openedge
*``left-sql-quote``,``right-sql-quote``
string的支持。指定分别为SQL标识符的左引号和右引号插入的字符串。只有当django pyodbc没有为您的系统猜测正确的报价时,才设置这些参数。
对于openedge support,请确保同时提供了deiver和openedge额外选项,所有其他参数的工作方式都应相同
要运行测试套件,请执行以下操作:
。代码::bash
python tests/runtests.py--settings=test_ango_ango pyodbc
license
----
此项目最初作为django sql server启动。该项目于2011年被废弃,并于2013年被我们的团队重新启用为django pyodbc。在这个过程中,项目的大部分都进行了重构,并使用现代django最佳实践加快了速度。2013年重写之前完成的工作是根据BSD(3条款)授权的。此后的改进都是在apache
2.0下授权的。请参见"license<;https://github.com/lionheart/django pyodbc/blob/master/license>;``了解更多详细信息。
>此项目实现"语义版本控制"<;http://semver.org/>;`。
credits
----
*`aaron aichlmayr<;https://github.com/wateroul>;`\u
*`adam vandenber<;javascript:;"用于在对不同查询类进行子类化时区分它们的代码。">;`\br/>*`alex vidal<;https://github.com/avidal>;`\br/>*` dan loewenherz<;http://dlo.me>;``u
*`filip wasilewski<;http://code.djangoproject.com/ticket/5246"为他的开创性工作,证明这是可能的,并通过与相关供应商技术文章的链接大量记录代码。">;``u
*`michael manfre<;https://github.com/manfre>;`
*`michiya takahashi<;https://github.com/michiya>;`
*`paul tax<;https://github.com/tax>;`
*`ramiro morales<;http://djangople.net/ramiro/>;`
*`wei guangjing<;http://djangople.net/vcc/>;``mamcx<;http://code.django project.com/ticket/5062>;`"第一次使用pymssql实现。"
作为一个技术卓越的例子和建立一个如此令人印象深刻的社区。
*Oracle Django团队(Matt Boersma,Ian Kelly)在实现自定义Django DB后端时提供了一些优秀的想法。