Attach a scan tool to the data link connector and see what the problem is. It should also allow you to reset the computer and turn the light off. You might want to try disconnecting the neg. battery terminal for 10 second and see if that works on your vehicle.
dont just disconnect the negative I had the same problem with my car at first the o2 censors wor bad so we replaced them but it still had the light on so I dsassembled the whole batter for about 50-10 minutes and hooked it back up then i started the car up and the check engine light went off. Also the same thing happened to my uncles car but his problem was the fuel soo he put in some fuel stabilizer about every 2-3 fill ups and hasnt had the problem since.