Personally I would say never cold call. Warm contacts are you way forward.
As the previous answers have suggested networking is a good way forward, BNI is a great example. It lets you build a relationship with them. I have even done a great of research in the past to find out if the shops have a get together every so often, which they do and see if you can go there. Forget sales to start with, build relationships - in the long run it is a very efficient way of going about it.
I would also point out, don't just talk to your customers. Talk to others in your profession, I regularly meet up with email marketers, SEO experts and small business advisors that I have met in networking events. This is really important and many businesses I see focus on only ever having time in the day for people who might have money in their back pocket, you never know who that person is the son/daughter/partner of.
Lastly, go to the pub. You will hear the well off bankers and business owners saying "oh we need this". Break the ice by saying "sorry I have had a pint but I couldn't help over hearing XYZ, I can help you. Here is my card give me a ring an we can talk about it over a pub lunch". Thats a genuine bit of advice, I have done that numerous times and some of my highest paying and best clients were found in that way