I wouldn't do it, but since you are ok with honoring the tradition then i suggest searching the family trees on both sides to pick a name you at least like, rather than David.
There has to be a name (first or middle) somewhere in the family that you like! Or maybe a family surname that may work as a middle name that you can use, and call your son by - like Clark or Miles or Miller. My friend's maiden name was Mitchell and then she named her son Mitchell - i love when it works out this way!
I'm sorry that i don't have a suggestion on how you can learn to love a name that you don't like!

I say keep your word, honor the tradition, but keep searching for a choice you like more!