0

MySQLデータベースでクエリを実行し、その結果をSQL-Server2008R2データベースに挿入したいと思います。

私のテーブル(MySQLデータベース)には複数の列があり、そのうちの1つにファイルパスが含まれています。そのパスを使用して、実際のファイルをBLOBとしてSQLサーバーに挿入したいと思います。

したがって、MySQLのすべての列をSQLサーバーに挿入し、実際のファイルをBLOBとして挿入する必要があります。

MySQLデータベースに接続してクエリを実行したり、SQL-Serverに接続したりできます。しかし、どうすれば結果を挿入できますか。(一部のファイルは非常に大きいです!!)

OPENROWSETについて何か見つけましたが、メタデータファイルを挿入する良い例が見つかりませんでした。

このためのC#アプリを作成したいと思います。助けていただければ幸いです。

4

2 に答える 2

0

SQL-Server 2008 R2 サポート ファイル ストリーム。(http://technet.microsoft.com/en-us/library/bb933993.aspx)

BLOB は、テーブルにデータを格納する標準の varbinary(max) データにすることができます ファイル システムにデータを格納する FILESTREAM varbinary(max) オブジェクト 格納されるオブジェクトが、平均して 1 MB より大きい場合は、filestream を使用する必要があります。

于 2012-02-05T18:46:15.787 に答える
0

@Pongsathon.keng が彼の応答で述べたように、FileStream はオプションです。DBがFileStreamをサポートできるようにする必要があり、書き込み中のユーザーはSQLログインにすることはできません(覚えておいてください)。言及されている varbinary(max) も使用できます (イメージは非推奨になります)。

FileStream を使用することにしたのは、FULL-Text インデックス作成と組み合わせて利用できるようにするためです。また、典型的な「ストア ファイル パス」アプローチを使用して、実際のファイルやブログをファイル システムに保存することもできます。FileStream を使用すると、DB を使用してファイルをバックアップし、権限やトランザクションなどを適用するという追加の利点が得られます。

本当にあなたが何をしているかに依存します。

FileStream に関するいくつかの優れた記事はこちらこちら

于 2012-02-05T21:59:06.807 に答える