3

C# (VS 2005) を使用して、SQL Server 2000 で複数のテーブルを 1 つの DB から別の DB にコピーする必要があります。呼び出しはパラメーター化する必要があります。これらのテーブルをコピーするデータベースの名前を渡すことができる必要があります。

パラメータを指定して DTS を使用できましたが、C# からこれを行うサンプル コードが見つかりません。

または、単に使用することもできます

drop table TableName
select * into TableName from SourceDB..TableName

次に、インデックスなどを再構築しますが、それは本当に厄介です。

他のアイデアはありますか?

ありがとう!

4

3 に答える 3

3

SQL Server 7.0および2000の場合、このためのSQLDMOがあります。SQL Server 2005には、SMOがあります。これにより、データベースの管理、オブジェクトのスクリプト作成、データベースの列挙などに関連するほとんどすべてのことを実行できます。これは、「独自のロール」アプローチを試すよりも優れています、IMO。

SQL 2000: SQL-DMOアプリケーションの開発

オブジェクトの転送

SQL 2005:SMOのメインページは次のとおりです 。MicrosoftSQL Server管理オブジェクト(SMO)

転送機能は次のとおりです。 データの転送

方法:VisualBasic.NETでスキーマとデータをあるデータベースから別のデータベースに転送する

于 2008-10-06T16:32:57.400 に答える
1

ここにあるスクリプト (copy db) を配置できます

http://www.codeproject.com/KB/database/CreateDatabaseScript.aspx

アプリケーションに。目的地を置き換えるだけです。実際にエンティティ データベースを移動するには、FOLLOW

http://support.microsoft.com/kb/314546

ただし、最初にデータベースをオフラインにする必要があることに注意してください。

ありがとう

于 2008-10-06T14:43:50.337 に答える
1

宛先テーブルが毎回削除される場合は、SELECT INTO を実行してみませんか? まったくクラッジのようには見えません。

それが問題なく動作し、すべての要件ボックスにチェックマークを付けている場合、まったく同じことを行うためにコードを成長させるのに何日もかかる作業を作成する必要はありません。

面倒な作業はすべて SQL にお任せください。

于 2008-10-06T14:34:31.867 に答える