2011-01-24 9 views
0

リモートMySQLサーバーからデータをインポートしています。私は、SSH接続を介してMySQLデータベースに接続し、次にMS SQL Serverにデータをプルします。実行する必要のあるタイプのチェックがいくつかあります。特に、MySQLのDateTimeをMS SQLのDateTimeに合わせる必要があります。当初、MySqlDataReaderを使用してList<T>にデータを読み込んで、正しい型を確認した後、データをDataSetに、次にMS SQL Serverにプッシュすることを考えました。MySQLからMS SQL Serverへ...ベスト・アプローチのアドバイスが必要

これは良いアプローチですか、これを別の方法で行う必要がありますか?私は確かに一括してSQL Serverに挿入することができますが、後でデータ型を処理する必要があります。

思考?

答えて

2

私は個人的にはこのプロセスでデータセットを使用しませんが、.NETタイプに移行すると、パラメータ化されたSQL文を使用するだけで問題ありません。

非常に大きなセットをお持ちの場合は、一括挿入を検討すると思われるかもしれませんが、セットのサイズによって異なります。ここで

+0

ありがとうございました。現時点では、MySqlDataReaderから一括挿入を行いますが、型の安全性がなく、MySql DateTimeフィールドに問題があり、VARCHARとして挿入する必要があります。私はパラメータ化されたSQL文を最初に試しましたが、パフォーマンスが悪いことがわかりました。そのため、.NET型をDataSetに使用してから一括挿入することを検討していました。 – dolphy

1

は、SQL Server 2000へのMySQLから行くために、Microsoftのガイドラインです:

http://technet.microsoft.com/en-us/library/cc966396.aspx

SQL Serverのは、MySQLからの移行を容易にするツールとユーティリティの豊富なセットを持っています。 SQL Server 2000データ変換サービス(DTS)は、異種のソースから単一または複数の宛先へのデータの抽出、変換、および統合のためのグラフィカルツールとプログラマブルオブジェクトのセットです。

この記事を読んでから、あなたはそれはあなたが実行する必要がありますが、独自のコードを書くことに限定されるものではなく、プロセスの場合、あなたがかもしれない、あなたが知っているC#

+0

これはSSISパッケージを使用するのが望ましい方法ですが、私が間違っていないと、SSISはSSH接続をサポートしていません。 – dolphy

0

の行を記述することなく、あなたのMySQLをインポートすることができますTalendを見たい。これは、ETL(データソース間の基本的なデータ変換)用のオープンソースツールです。

オープンソースで、トランスフォームを設計するための素敵なGUIを備えています。物事はどこから来てどこへ行くのですか?

http://www.talend.com/index.php

だけ考えていますが、ちょうど反対のようなツールを書くために目標を達成しようとしている場合、それはあなたのために長期的にはより迅速かつ柔軟かもしれません。

0

タイムスタンプに変換する最も簡単な方法です。

Timestamp SetupStart_ts = rs.getTimestamp("SetupStart"); 
String SetupStart = SetupStart_ts.toString() 

MSSQLサーバー、すぐにプッシュして、それはあなたの日時に自動的に保存して、varify it.Thankます。

関連する問題