django-pyodbc和普适数据库

时间:2014-08-28 21:23:16

标签: django-models

您好有一种方法可以将django-pyodbc与普及数据库一起使用吗?我尝试不同的设置但是当我尝试检查db以从数据库创建模型时它向我显示了这个错误,但我可以使用python pyodbc创建无处不在的查询。

`('42000','[42000] [Pervasive] [ODBC客户端界面] [LNA] [Pervasive] [ODBC     引擎接口]无效的SET语句。 (0)(SQLExecDirectW)')     请求方法:GET     请求网址:
    Django版本:1.6.6     异常类型:ProgrammingError     例外价值:
    ('42000','[42000] [Pervasive] [ODBC客户端界面] [LNA] [Pervasive] [ODBC引擎接口]无效的SET语句。    (0)(SQLExecDirectW)')     异常位置:_cursor中的C:\ Python27 \ lib \ site-packages \ django_pyodbc \ base.py,第296行     Python可执行文件:C:\ Python27 \ python.exe     Python版本:2.7.8

cursor.execute("SET DATEFORMAT Ymd; SET DATEFIRST %s" % self.datefirst)
pyodbc.ProgrammingError: ('42000', '[42000] [Pervasive][ODBC Client Interface][LNA][Pervasive]                     [ODBC Engine Interface]Invalid SET statement. (0) (SQLExecDirectW)')`

当我尝试在数据库上运行inspectdb时,这是错误的一部分。

根据主要问题是在这个文件中,base.py第296行是odbc驱动上的set语句的一些问题这是base.py上的一段代码我尝试发表评论但是又出现了另一件事。< / p>

`cursor.execute("SET DATEFORMAT Ymd; SET DATEFIRST %s" % self.datefirst)
        if self.ops.sql_server_ver < 2005:
            self.creation.data_types['TextField'] = 'ntext'
            self.features.can_return_id_from_insert = False

        ms_sqlncli = re.compile('^((LIB)?SQLN?CLI|LIBMSODBCSQL)')
        self.drv_name = self.connection.getinfo(Database.SQL_DRIVER_NAME).upper()

        # http://msdn.microsoft.com/en-us/library/ms131686.aspx
        if self.ops.sql_server_ver >= 2005 and ms_sqlncli.match(self.drv_name) and                                         self.MARS_Connection:
            # How to to activate it: Add 'MARS_Connection': True
            # to the DATABASE_OPTIONS dictionary setting
            self.features.can_use_chunked_reads = True` 

2 个答案:

答案 0 :(得分:0)

检查您的访问权限。错误消息表示语法错误,但根据mssql support site,错误代码42000是“语法错误或访问冲突”。

答案 1 :(得分:0)

尝试在%s周围加单引号:

cursor.execute("SET DATEFORMAT Ymd; SET DATEFIRST '%s'" % self.datefirst)