嘉庆十年（1805年）登殿试三甲第三名进士，授福建省罗源县知县一职。道光元年（1821年）改闽县知县，未满一年，升任台湾府北路理番鹿仔港海防捕盗同知，并驻于鹿港。道光四年（1824年）因台湾北路械斗事件，以鹿港同知代理台湾府知府，任满调离台湾后，又于道光十年（1830年）奉旨担任按察使衔分巡台湾兵备道。道光十一年（1831年）任建宁府知府，道光十六年（1836年）由嘉恒接任。在台湾任职接近十年，为政以振兴教育为先，曾经捐出除了正俸以外的养廉银，推动创建鹿港文开书院，并着有《蠡测汇钞》及《水沙连纪程》