2011-02-02 8 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

簡単な方法は、ファイルsystem/database/drivers/odbc/odbc_driver.phpをCodeIgniterフォルダの下に開くことです。 _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); 

を変更することができます。これはテーブル名に(および)を追加することはなく、完全に機能します。