我有以下问题:
我需要获取oracle数据库表的几列以在.php页面上显示信息。为此,我使用了一个 SOAP-API,它可以完美地与任何其他表配合使用,只是不适用于此表。
这是我用于所有这些查询的代码:
$setSearchObjectsIn = new SearchObjectsInType();
$setSearchObjectsIn->sessionId = (String) $sessionId;
$setSearchObjectsIn->table = (String) 'STFCFG_DD_VALUE';
$setSearchObjectsIn->caseSensitive = (String) 'false';
$setSearchObjectsIn->limitedResult = (String) 'false';
$setSearchObjectsIn->restrictions[0]['attributeName']= (String) 'STFCFG_DD_VALUE.DDID';
$setSearchObjectsIn->restrictions[0]['restriction']['operator'] = (String) '=';
$setSearchObjectsIn->restrictions[0]['restriction']['value'] = (String) $ddid;
$setSearchObjectsIn->resultColumns[0] = (String) 'STFCFG_DD_VALUE.DD_VALUE';
$setSearchObjectsIn->resultColumns[1] = (String) 'STFCFG_DD_VALUE.CATALOG_NAME';
$setSearchObjectsIn->resultColumns[2] = (String) 'STFCFG_DD_VALUE.MSG_ID';
$client = new SoapClient((String) $instance.'/axis/services/GenericApiWS?wsdl');
$result = $client->searchObjects($setSearchObjectsIn);
这是我在这个特殊表中得到的错误:
ORA-00904: "MAN_ID": ungültiger Bezeichner
我也尝试使用 SoapUI 启动此查询,结果完全相同。事实上,我的代码中没有像"MAN_ID"这样的内容让我感到疑惑,因为错误看起来像我会查询这样命名的列,而我显然不会这样做。 (请求的表中也没有"MAN_ID"列,所以我不知道这是从哪里来的(
希望你能帮助我
我会尝试在 SOAP 服务器代码中查找MAN_ID - 错误可能是服务器返回的内容,并且它可能正在隐式查找该列。错误消息肯定是由 Oracle 生成的,因此请搜索查询到达那里的方式,如果可能,请查看执行的查询。