好吧,我已经构建了一个用于MSSQL的应用程序,并且最初以这种方式运行,我买了一台新计算机,由于一些奇怪的原因它不会让我通过MSSQL连接。
所以我设置了ODBC。它连接得很好,但它似乎讨厌活跃的记录。我是否必须重写所有查询?或者有什么我想念的东西。我得到这样的错误。
A Database Error Occurred
Error Number: 37000
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near ')'.
SELECT * FROM (News) ORDER BY id desc`
答案 0 :(得分:4)
简单的方法是在CodeIgniter文件夹下打开文件system/database/drivers/odbc/odbc_driver.php
。查找名为_from_tables
的函数(在我的例子中,这是第482行)。
从以下地址更改退货声明:
return '('.implode(', ', $tables).')';
要:
return implode(', ', $tables);
应该这样做!
答案 1 :(得分:1)
您可以在此位置system \ database \ drivers \ odbc更改odbc_driver.php文件并更改
return '('.implode(', ', $tables).')' to return implode(', ', $tables);
_from_tables()
函数中的。这不会在表名中添加(和),并且可以完美地运行。
答案 2 :(得分:0)
您可以删除表名周围的(和)。 它在SQL Server 2008中也不起作用!