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后端时提供了一些优秀的想法。



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在SWT中关闭CTabItem时如何获取警告消息?   java如何从中获取文本字符串   java带有(int[][])的方法意味着什么?   java我在创建这个安卓浮动泡泡动画时做错了什么?   将边距属性作为列表项的java表抛出异常ClassCastException   java如何在Storm拓扑中测量延迟和吞吐量   java如何在javafx中序列化事件?   java访问main()之外的线程   java如何强制某些方法仅对kotlin可见   java如何使用quartzscheduler启动具有多个crontrigger的作业?   java无法使用VM选项获取转储文件:引发OOM异常时出现HEAPDUMPONAUTOFMEMORYERROR   java无法在安卓中的FTP服务器上上载文件   java RecordView未显示   java有没有办法在Eclipse中隐藏/折叠虚张声势的注释?   java如何从xml中提取xml。广州?