2011-02-02 5 views
2

글쎄, 나는 MSSQL을위한 응용 프로그램을 만들었고 원래는 그런 식으로 실행했다. 새 컴퓨터를 구입했는데 이상한 이유로 MSSQL을 통해 연결할 수 없었다.CodeIgniter ODBC Woes

그래서 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 문에서 :

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

사람 :

return implode(', ', $tables); 

이 그것을해야!

+0

이 문제가 해결되었습니다! 감사. – Zen

0

당신은 테이블 이름 주위 ()을 제거 할 수 있습니다. SQL Server 2008에서도 작동하지 않습니다!

1

당신은이 위치 시스템 \ 데이터베이스 \ 드라이버 \ ODBC에서 파일을 odbc_driver.php 변경하고 _from_tables() 기능에

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

을 변경할 수 있습니다. 이것은 테이블 이름에 (와)를 추가하지 않으며 완벽하게 작동합니다.