TYPO3 9.5秒数据库-ExtensionManager中出现错误

TYPO3 9.5秒数据库-ExtensionManager中出现错误,typo3,typo3-9.x,Typo3,Typo3 9.x,在TYPO3 9.5中向TYPO3配置添加第二个第三方Oracle数据库时,我遇到了一个问题。添加配置后,我无法再在ExtensionManager中安装任何扩展(包括核心扩展) 在LocalConfiguration.php中,我添加了第二个数据库(它是专利管理系统的数据库-无“TYPO3样式”): 我在控制器中的操作中使用QueryBuilder,可以毫无问题地查询表 但是在ExtensionManager中安装任何扩展都会导致以下错误: (1/1) TypeError Argument 1

在TYPO3 9.5中向TYPO3配置添加第二个第三方Oracle数据库时,我遇到了一个问题。添加配置后,我无法再在ExtensionManager中安装任何扩展(包括核心扩展)

在LocalConfiguration.php中,我添加了第二个数据库(它是专利管理系统的数据库-无“TYPO3样式”):

我在控制器中的操作中使用QueryBuilder,可以毫无问题地查询表

但是在ExtensionManager中安装任何扩展都会导致以下错误:

(1/1) TypeError
Argument 1 passed to TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener::getDatabaseType() must be of the type string, null given, called in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php on line 41
in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php line 93
*
* @param string $typeDefiniton
* @return string
*/
protected function getDatabaseType(string $typeDefiniton): string
{
$dbType = strtolower($typeDefiniton);
$dbType = strtok($dbType, '(), ');
at TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener->getDatabaseType(null)
in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php line 41
public function onSchemaColumnDefinition(SchemaColumnDefinitionEventArgs $event)
{
$tableColumn = $event->getTableColumn();
$tableColumn = array_change_key_case($tableColumn, CASE_LOWER);
$dbType = $this->getDatabaseType($tableColumn['type']);
if ($dbType !== 'enum' && $dbType !== 'set') {
return;
}
at TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener->onSchemaColumnDefinition(object(Doctrine\DBAL\Event\SchemaColumnDefinitionEventArgs))

一旦我从LocalConfiguration.php中删除了第二个数据库,ExtensionManager就会重新工作——但是QueryBuilder当然不再知道这个表了:enttäuscht:

您能告诉我们如何创建QueryBuilder吗?当然可以,但是我不认为有任何问题:1)即使没有安装使用querybuilder的扩展,也会发生错误-正如我写的,在LocalConfiguration.php中的条目之后,我想安装的任何扩展都会发生错误。2)querybuilder工作:-)我就是这样使用它的:$querybuilder=GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('SCHEMA.TABLE1');$result=$queryBuilder->select('*')->from('SCHEMA.TABLE1')->execute();$rows=$result->fetchAll();
(1/1) TypeError
Argument 1 passed to TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener::getDatabaseType() must be of the type string, null given, called in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php on line 41
in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php line 93
*
* @param string $typeDefiniton
* @return string
*/
protected function getDatabaseType(string $typeDefiniton): string
{
$dbType = strtolower($typeDefiniton);
$dbType = strtok($dbType, '(), ');
at TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener->getDatabaseType(null)
in C:\inetpub\typo3_src-9.5.7\typo3\sysext\core\Classes\Database\Schema\EventListener\SchemaColumnDefinitionListener.php line 41
public function onSchemaColumnDefinition(SchemaColumnDefinitionEventArgs $event)
{
$tableColumn = $event->getTableColumn();
$tableColumn = array_change_key_case($tableColumn, CASE_LOWER);
$dbType = $this->getDatabaseType($tableColumn['type']);
if ($dbType !== 'enum' && $dbType !== 'set') {
return;
}
at TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener->onSchemaColumnDefinition(object(Doctrine\DBAL\Event\SchemaColumnDefinitionEventArgs))