您好有一种方法可以将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`
答案 0 :(得分:0)
检查您的访问权限。错误消息表示语法错误,但根据mssql support site,错误代码42000是“语法错误或访问冲突”。
答案 1 :(得分:0)
尝试在%s周围加单引号:
cursor.execute("SET DATEFORMAT Ymd; SET DATEFIRST '%s'" % self.datefirst)