Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

codeigniter и odbc връзки

Това всъщност е грешка в CodeIgniter. В ODBC драйвера (/system/database/drivers/odbc/odbc_driver.php), когато изберете таблица, тя използва следния метод:

function _from_tables($tables)
{
    if ( ! is_array($tables))
    {
        $tables = array($tables);
    }

    return '('.implode(', ', $tables).')';
}

Той се опитва да групира няколко избрани таблици заедно, за да наложи приоритет на операторите, това трябва да работи добре, ако използвате повече от една таблица, но с една таблица той все още се опитва да я групира, което причинява грешката, която получавате.

За съжаление, не вярвам, че е възможно да разширите тези драйверни файлове, така че може да се наложи да редактирате самия основен файл. Обърнете внимание на това, в случай че трябва да актуализирате CodeIgniter в бъдеще, ще трябва да промените метода на нещо като следното:

function _from_tables($tables)
{
    if ( ! is_array($tables))
    {
        return strstr($tables, ',') ? '('.$tables.')' : $tables;
    }
    else
    {
        return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL изберете max(дата) и съответната стойност

  2. Защо не мога да използвам псевдоним за агрегат в клауза за наличие?

  3. Трябва ли да използвам !=или <> за не е равно в T-SQL?

  4. Разбиране на облачно базирано наблюдение на производителността на SQL сървър

  5. SQL Server 2005 - Ред на вътрешните съединения