I need to copy several tables from one DB to another in SQL Server 2000, using C# (VS 2005). The call needs to be parameterized – I need to be able to pass in the name of the database to which I am going to be copying these tables.
I could use DTS with parameters, but I can’t find any sample code that does this from C#.
Alternatively, I could just use
drop table TableName select * into TableName from SourceDB..TableName
and then reconstruct the indexes etc – but that is really kludgy.
Any other ideas?
Thanks!
For SQL Server 7.0 and 2000, we have SQLDMO for this. For SQL Server 2005 there is SMO. This allows you do to pretty much everything related to administering the database, scripting objects, enumerating databases, and much more. This is better, IMO, than trying a ‘roll your own’ approach.
SQL 2000: Developing SQL-DMO Applications
Transfer Object
SQL 2005: Here is the SMO main page: Microsoft SQL Server Management Objects (SMO)
Here is the Transfer functionality: Transferring Data
How to: Transfer Schema and Data from One Database to Another in Visual Basic .NET