Yes you can do it programatically. You would basically just have to loop through the tables in the dataset, read out the schema, and build your create table and insert statements. I've done this in a fairly generic sense for some software I worked on recently where I receive datasets from a webservice and have to create, fill, and update tables on the client. You've probably already solved your problem since you posted 2 months ago, but you never know.