What is the ‘activate’ function trying to do?
I encountered the same problem when I wanted the plugin to create tables in the database upon activation. I checked the SQL statements with an echo and they were correct.
It turned out that I was referencing the global $wpdb value in the method but I did not declare it outside its scope.