Php zend2:Oracle11g:从元数据类检索列名时发生异常

Php zend2:Oracle11g:从元数据类检索列名时发生异常,php,oracle11g,zend-framework2,Php,Oracle11g,Zend Framework2,iam使用zendFramework2.5.1和Oracle 11g。数据库连接/DML查询执行正常。 我需要导出oracleDB中存在的表的列名。我使用Zend\Db\TableGateway\TableGateway进行Db连接。我了解到,使用Zend\Db\Metadata\Metadata可以检索列名。使用$tableObject(如下所示),我检索了现有的适配器对象和表名。这里没有问题 $metadataObject = new Metadata($tableObject->ge

iam使用zendFramework2.5.1和Oracle 11g。数据库连接/DML查询执行正常。

我需要导出oracleDB中存在的表的列名。我使用Zend\Db\TableGateway\TableGateway进行Db连接。我了解到,使用Zend\Db\Metadata\Metadata可以检索列名。使用$tableObject(如下所示),我检索了现有的适配器对象和表名。这里没有问题

$metadataObject = new Metadata($tableObject->getAdapter());
$tableName = $tableObject->getTable();
但当执行下面的代码时,会发生异常

$metadataTable = $metadataObject->getTable($tableName); 
例外情况

我提到了这个问题。我也试过了。我分析了异常,但无法进一步分析。我在网站上观察到,这与访问oracle中的受限变量有关(我不确定)。
. 非常感谢您为这个问题提供解决方案。

我找到了一个解决方案。我分析/浏览/浏览了日志。我发现zend为oracle提供了一个元数据类

use Zend\Db\Metadata\Source\OracleMetadata;
我有点误解了可以检索表的列名的函数。检索表的列名的正确函数是getColumnNames

我认为,同样的逻辑也必须适用于元数据类。但我没有证实

use Zend\Db\Metadata\Metadata
$metadata = new OracleMetadata($tableObject->getAdapter());
$myTableName = $tableObject->getTable();
$metadataTable = $metadata->getColumnNames($myTableName);  
use Zend\Db\Metadata\Metadata