Zend Framework 2 Двойные кавычки в запросах

Я использую Zend Framework 2 для разработки приложений. Все приложение основано на базе данных IBM Informix.

Конфигурация базы данных выглядит примерно так:

return array( 'db' => array( 'driver' => 'Pdo', 'dsn' => 'dsn:connection:string', 'driver_options' => array( ), ), 'service_manager' => array( 'factories' => array( 'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory', ), ), ); 

При запросе базы данных путем создания экземпляра объекта Zend \ Db \ Sql \ Select запросы всегда цитируются, что не должно происходить, потому что Informix больше не может обрабатывать запрос.

Ожидаемая последовательность:

 SELECT column1, column2 FROM table 

Zend-generated Querystring:

 SELECT "column1", "column2" from "table" 

После некоторых исследований я обнаружил подобные случаи, но ни одно решение не было приемлемым. Проблема здесь в том, что мне нужно передать объект Zend \ Db \ Sql \ Select, поэтому запрос к базе данных с необработанным sql через запрос $ dbAdapter-> ($ sql) невозможен.

Может быть, есть способ отключить цитату (например, в конфигурации базы данных)?

Некоторые подсказки будут очень оценены. заранее спасибо

вы можете отключить идентификаторы цитирования. как это

 use Zend\Db\Adapter\Adapter as DbAdapter; // DB2 Connection $adapter = new DbAdapter(array( 'driver' => 'IbmDb2', 'database' => '*LOCAL', 'username' => '', 'password' => '', 'driver_options' => array( 'i5_naming' => DB2_I5_NAMING_ON, 'i5_libl' => 'LIB1 LIB2 LIB3' ), 'platform_options' => array('quote_identifiers' => false) ); 

взятых из документации Zend Framework.

Если вы хотите, чтобы Informix распознал эту нотацию, вам нужно установить переменную среды DELIMIDENT, чтобы сервер знал, что для этих строк с двойными кавычками будут использоваться идентификаторы, а не как строки.

Существует множество способов сделать это; что лучше всего зависит от вашей системы. Похоже, вы используете Windows, а не Unix. Существует утилита SETNET32, которая может устанавливать переменную окружения. В Unix (не уверен в Windows) вы можете добавить DELIMIDENT 1 в $HOME/.informix или в $INFORMIXDIR/etc/informixrc (обычный, но он должен работать). Вы можете установить env var по shell; вы можете указать его как атрибут соединения.

Windows не является моей областью знаний.