2009-07-10 5 views
1

この質問に類似しているのは、他のフローだけです。SQLのみを使用してファイルシステムにSQLデータベースからイメージを保存するにはどうすればよいですか?

Insert Picture into SQL Server 2005 Image Field using only SQL

は、私は、ファイルシステムに出て画像フィールドを保存して、唯一のSQLを使用して、ファイルに名前を付けることができることができるようにする必要があります。クエリ自体を実行しているデータベースへの接続を使用する必要があるため、TEXTCOPYを使用する必要はありません。

古いデータベースクライアントをサポートするためにこれをSQL 2005で使用したいと思いますが、それが2008年だけであれば問題ありません。

アイデア?

+0

SSISは使用できませんか? –

+0

いいえ、SSISを使用すると、クエリを実行しているユーザーから新しい接続を作成する必要があります。私はそれを行う必要があるので、可能であれば、単一のストアドプロシージャに入れることができます。 – GluedHands

+0

新しい接続が重要な理由と、パッケージを実行するエージェントジョブを作成してから、SPからジョブを開始することができます。 –

答えて

1

SQL 2k8には、このようなケースをカバーする新しいFILESTREAMタイプがあります。ファイルストリームは、他のファイルと同様にWin32ファイルアクセスハンドルで開くことができますが、トランザクションやバックアップ/リストアの観点からデータベースに統合されています。

SQL 2k5で同様の問題が発生しました。私の解決策は、C#ファイル操作を使用してファイルシステムに書き込むEXTERNAL_ACCESSでCLRストアドプロシージャを使用することでした。

0

sqlのみを使用して保存する方法はないとは思いますが、コマンドラインユーティリティbcpがあります。

+0

はい、bcpはTEXTCOPYとほぼ同じです。提供される必要があるログイン情報を介してデータベースに接続する外部実行可能ファイル。私がこれをしたくない理由は、ストアドプロシージャのテキストの中にログイン情報を保存したくないからです。 – GluedHands

関連する問題