Automated Web Service Generation

Are there any tools available using which json/xml based web services can be generated directly from databases, at least for CRUD operations. Assume, I supply database credentials to the tool which shows me list of tables for which web service need to be generated, I select the tables and it generates the code or whatever is required for exposing those database tables via web service for CRUD operations?

Is it a common problem faced by programmers, e.g. exposing a database via web service without having to write any code?

I'm not sure I understand what you mean. As a web client, you would need to call a web service (which is code) that then interacts with your database.

So if you had a User table, at the very least you'd need CreateUser, UpdateUser, DeleteUser and have those service methods take the required parameters.

There is something called WSDL (pronounced "wiz-dull") which stands for Web Services Definition Language. Using a WSDL file, you can auto-create (in C#) a client that will communicate with the appropriate service, however, you need to write this yourself or use Visual Studio to generate one for you if you're using an MS technology.

Strictly speaking, it's always a bad idea to expose direct access to the database. Typically you would hide behind API calls, such as FindUser or UpdateUserPassword. I personally am not a fan of the new CRUD style of web services.