- - PR -
MSDEにimage型のデータを保存するには?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-10-31 19:08
お世話になります。
今MSDEを利用して、ObjectそのものをDatabaseに保存したいと考えています。テーブルの列のデータ型を「ntext」にし、Objectそのものをstringに変更すれば、Insert/Selectが可能になるが、データサイズが大きく、Binary形式でデータを保存したい(どのくらいサイズが小さくなるかが分かりませんが)。 テーブルの列の型を「image」にして、Insert文を組むときに、如何すればよろしいでしょうか?そのままstringに変更するだけでは、保存できないようです。 やり方に問題があると思い、ご存知でしたら教えて頂きたい。 以上、宜しくお願い致します。 | ||||
|
投稿日時: 2006-10-31 19:45
MSDE imageで検索すると、MSDEEではどうもImage型をサポートしていることがわかる。
↓ MSDE image型で検索すると、なんとなくそれっぽいものとして、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=919583 がヒットしました。 ↓ このサイトで、「Visual C#.NETでADO.NETを使用したBLOBデータの読み取りと書き込みの方法」が参考になったとあるので、これをキーワードにして検索したら、 http://support.microsoft.com/default.aspx?scid=kb;ja;309158 にヒットしました。 開発環境がかかれていないので、参考になるかどうかはわからない。 | ||||
|
投稿日時: 2006-11-01 12:32
失礼しました。開発環境は.Netで、言語はC#です。 教えて頂いた情報を参考に、問題が解決できました。自分なりの認識したポイントを下記にまとめます。 1.データを保存する際、ObjectをByte[]に変更する必要がある。 2.SQLコマンドを作る時、INSERT文に直接配列名を入れられないため、SQLCommandのParameterに設定する 3.保存・取り出し時、何れMemoryStreamを使用して、Byte[]<=>Object変換を行う。 ざっとやってみたら、Binary形式だと、データサイズは約半分になる感じです。 かずくん様、ありがとうございました。 | ||||
1
