Zum Inhalt springen

Powermail 2.5 Fehlermledung TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery

Erstellt am 8. Juli 2015 · 3 Antworten · letzte Antwort am 4. November 2015

Tags: Powermail, Datenbank, TYPO3 6.x, Frage

andy-man ·

Hallo,
leider kann ich mir nicht erklären wie ich den Fehler beheben kann. Es ersteint diese Fehlermeldung:

-------------------------------------------------------------------------------------------------

TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery
ERROR Table 'tx_powermail_domain_model_page' doesn't exist
lastBuiltQuery SELECT tx_powermail_domain_model_page.* FROM tx_powermail_domain_model_page WHERE tx_powermail_domain_model_page.forms = 2 ORDER BY tx_powermail_domain_model_page.sorting ASC
debug_backtrace require(typo3_src-6.2.14/typo3/sysext/cms/tslib/index_ts.php),typo3_src-6.2.14/index.php#28 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript#232 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent#3638 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript_process#3671 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->USER#3723 // TYPO3\CMS\Frontend\ContentObject\UserContentObject->render#862 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction#41 // call_user_func_array#6634 // TYPO3\CMS\Extbase\Core\Bootstrap->run# // TYPO3\CMS\Extbase\Core\Bootstrap->handleRequest#184 // TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler->handleRequest#195 // TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch#56 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest#69 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->callActionMethod#157 // call_user_func_array#286 // In2code\Powermail\Controller\FormController->formAction# // In2code\Powermail\Utility\Div::saveFormStartInSession#64 // TYPO3\CMS\Extbase\Persistence\Generic\QueryResult->getFirst#205 // TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper->map#96 // TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper->mapSingleRow#97 // TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper->thawProperties#137 // TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper->mapResultToPropertyValue#218 // TYPO3\CMS\Extbase\Persistence\Generic\QueryResult->rewind#473 // TYPO3\CMS\Extbase\Persistence\Generic\QueryResult->initialize#213 // TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager->getObjectDataByQuery#69 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->getObjectDataByQuery#102 // TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->getObjectDataByQuery#175 // TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->getRowsByStatementParts#297 // TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->getRowsFromDatabase#338 // TYPO3\CMS\Core\Database\DatabaseConnection->exec_SELECTgetRows#359 // TYPO3\CMS\Core\Database\DatabaseConnection->exec_SELECTquery#370 // TYPO3\CMS\Core\Database\DatabaseConnection->debug#305
exec_SELECTquery
caller TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery
ERROR Table 'tx_powermail_domain_model_page' doesn't exist
lastBuiltQuery SELECT tx_powermail_domain_model_page.* FROM tx_powermail_domain_model_page WHERE tx_powermail_domain_model_page.forms = 2 ORDER BY tx_powermail_domain_model_page.sorting ASC
------------------------------------------------------------------------------------------------------

Woher nimmt er die falsche Tabelle? - tx_powermail_domain_model_page?
Es ist die Tabelle tx_powermail_domain_model_pages
installiert.

Hat jemand schon mal dieses Problem gehabt?

Danke andy-man

einpraegsam.​net · · Beste Antwort

Cache komplett geleert (im Install Tool)?

Das TypoScript in der ext_typoscript_setup.txt scheint bei dir nicht geladen zu werden.

Wenn alles nichts hilft, versuche mal das nachfolgende TypoScript einzufügen und noch mal zu testen:

config.tx_extbase {
	persistence {
		classes {
			In2code\Powermail\Domain\Model\User {
				mapping {
					tableName = fe_users
				}
			}
			In2code\Powermail\Domain\Model\UserGroup {
				mapping {
					tableName = fe_groups
				}
			}
			In2code\Powermail\Domain\Model\Form {
				mapping {
					tableName = tx_powermail_domain_model_forms
				}
			}
			In2code\Powermail\Domain\Model\Page {
				mapping {
					tableName = tx_powermail_domain_model_pages
				}
			}
			In2code\Powermail\Domain\Model\Field {
				mapping {
					tableName = tx_powermail_domain_model_fields
				}
			}
			In2code\Powermail\Domain\Model\Mail {
				mapping {
					tableName = tx_powermail_domain_model_mails
				}
			}
			In2code\Powermail\Domain\Model\Answer {
				mapping {
					tableName = tx_powermail_domain_model_answers
				}
			}
		}
	}
}

# ParseFunc Configuration for using FAL links in receiver and sender mail
lib.parseFunc_powermail < lib.parseFunc_RTE
lib.parseFunc_powermail.tags.link.typolink.forceAbsoluteUrl = 1




#################
# Backend Module
#################
module.tx_powermail {
	view {
		templateRootPath = EXT:powermail/Resources/Private/Templates/
		partialRootPath = EXT:powermail/Resources/Private/Partials/
		layoutRootPath = EXT:powermail/Resources/Private/Layouts/
		widget.TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:powermail/Resources/Private/Templates/
	}
	settings {
		# crdate, sender_name, sender_email, subject, receiver_mail, feuser, time
		sortby = crdate
		order = desc
		perPage = 25
		export {
			filenameXls = powermail.xls
			filenameCsv = powermail.csv
		}
		uploadPath = {$plugin.tx_powermail.settings.misc.uploadFolder}

		# Don't touch this (this is just to let the extension know, that there is TypoScript included)
		staticTemplate = 1
	}
}
klaeff ·

Hallo,

wir haben ein ähnliches Problem, dass alle paar Tage powermail (TYPO3 6.2.15 und powermail 2.15.2) im Frontend und im Backend bemeckert, dass es die Tabelle cms.tx_powermail_domain_model_form bzw. cms.tx_powermail_domain_model_mail nicht findet und TYPO3 diese Seiten dann nur mit einer entsprechenden Fehlermeldung ausgibt. Siehe angehängter Screenshot.

Löschen des Caches im Installtool hat bisher geholfen, allerdings eben nicht dauerhaft.

Der Fehler tritt unabhängig davon auf, ob ich das Skript von oben, direkt über Typoskript, wie Alex Kellner es empfiehlt, eingebunden hab oder nicht. Das Skript sollte doch die Tabellen mappen oder sowas? Was passiert da eigentlich und wo könnte der Fehler liegen? Ich würde mich über eine Erklärung und evtl. über einen Lösungsansatz sehr freuen.

Gruß
klaus

einpraegsam.​net ·

Hallo Klaus,

es geht darum, dass Tabellen in Extbase über TypoScript gemapt werden.

Das bedeutet, dass wenn eine Extension auf eine Dritttabelle zugreifen will oder gegen die Konvention verstößt (wie in powermail der Fall, weil Rückwärtskompatibilität) und eine andere Tabelle benötigt als eigentlich vorgesehen ("mailRepository" würde per Default nach "tx_ext_domain_model_mail" suchen), ein Mapping nötig ist.

Das eigentliche Problem ist, dass das TypoScript nicht immer korrekt von Extbase fürs Mapping genutzt wird. Ich habe auch vereinzelt von diesem Problem gehört, konnte dies aber selbst noch nicht reproduzieren.

Wenn ich den Fehler lokal nachstellen könnte, könnte man Extbase an der Stelle debuggen, um den Fehler auf die Schliche zu kommen.

Hilft dir das?