Most of the times, when it comes to sql side npcs it's better to port them manually. In this occasion where custom_npc table is missing, try executing this in npc.sql instead. Although it would help a lot if you provide more information such as client/pack (consider doing this in any related topic) and a possible stacktrace.
It MAY be some of the following
1) You are putting wrong credentials
2)Your firewall blocks your host provider,
3)Mysql port is disabled
4)You didn't enable remote mysql access
5)You didn't give mysql permissions to a remote user (your host)
reviveTask should be linked with players so you have to store this in L2PcInstance and not random classes. Also you don't need to check if a player is in a custom zone in doRevive() method, all you need is to cancel revive task.
No, not really. At first , fields should be private in most cases. Furthermore, upon death (method onDieInside in your file) you should say something like
if (reviveTask == null)
reviveTask == ThreadPoolManager.getInstance().scheduleblabla()
Also, as i already mentioned above. You should cancel the task inside the method doRevive(L2PcInstance.java)