0

私がここにいるので、明らかに質問があります...

ソースデータベース(SQL Server 2008)と宛先データベース(SQL Server 2008)があります。実行する必要のある変更があります。これは、多くのデータがC#を通過する必要があることを意味します(座標の変換、三角測量など)。しかし、どのようにそれをしますか?

ここでいくつか探しています。現在、私はaを使用SqlDataReaderしてデータをにプルし、DataTableそのようなデータを使用して、宛先データベースにプッシュする前にデータを操作していますが、それを行うためのより良い(より高速でメモリ効率の高い)方法は何でしょうか?

また、操作する必要のないデータについても、同じようにデータを取得しているので、より高速なデータを回避する方法があると思いますか?

技術的な情報:

  • DB:2 x SQL Server 2008(ソース/宛先)-同じサーバー上
  • 言語:C#/ .NET 3.5
  • OS:Windows
4

3 に答える 3

2

ソースデータを宛先データベースの一時テーブルに挿入します。

次に、SQLマージを使用して宛先を更新します。

MERGE(Transact-SQL)

私はc#が果たす役割を完全に最小化します。

于 2012-05-29T21:09:02.953 に答える
0

データベースとマシン間のラウンドトリップ時間を削除するために、 SQLCLRを使用して.NETコードをSQLサーバーに埋め込むことができます。

于 2012-05-29T21:12:25.340 に答える
0

ETLタスクにはIntegrationServicesを使用する必要があります。

于 2012-05-29T21:25:58.617 に答える