Skip to content

sql2graphite - TypeError: not enough arguments for format string

Just ran into following issue.

Traceback (most recent call last): File "/usr/local/bin/sql-to-graphite", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/dist-packages/sql_to_graphite/", line 55, in main get_executor(dsn), File "/usr/local/lib/python2.7/dist-packages/sql_to_graphite/", line 25, in run data = map(executor, queries) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 942, in execute return self._execute_text(object, multiparams, params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 1104, in _execute_text statement, parameters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 1200, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 1416, in _handle_dbapi_exception util.reraise(*exc_info) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 1193, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/", line 507, in do_execute cursor.execute(statement, parameters) File "/usr/local/lib/python2.7/dist-packages/MySQLdb/", line 187, in execute query = query % tuple([db.literal(item) for item in args]) TypeError: not enough arguments for format string

Result is, that I've created a sql statement with a >>%<< inside. I need to escape it (transform it to >>%%<<) and all is fine.

Die KW 4/2019 im Link-Rückblick

Running Contao 3.x version and upgrading from PHP 5.x to PHP 7 results in a 500 Status?

I had the joy to debug a not working contao system line by line.

Why line by line? Because there was no entry in any logs, even with "log all motherfucker"-php.ini values on.

After parsing the lines, I ended up into this error message.

Fatal error: Cannot use 'String' as class name as it is reserved in ... system/modules/core/library/Contao/String.php on line 28

Well, nice to know the error but where was this triggered? So another round with joy and I ended up with an extension, of course installed "by hand" which means not possible to update by the contao updater and this lovely line.


After I've changed that line to the following line, all the gizmos where working again.


So, what should you do when you where faced with a 500 Apache Status Code after a contao installation moved from an PHP 5.x runtime environment to a PHP 7.x runtime environment?

cd <project root> grep -ir "import('String');" *

Replace >>import('String');<< with >>import('StringUtil');<< and that is it.

But all would be better if you are not installing extensions by hand.

Die KW 3/2019 im Link-Rückblick