- PR -

SQL server 2005 テーブルにWord文書を格納したい

1
投稿者投稿内容
まーけ
会議室デビュー日: 2007/10/04
投稿数: 11
投稿日時: 2008-03-12 18:58
おそらくとても基本的なことなのだと思いますが、
それだけにやり方が見つからず困っています。

SQL server 2005 のテーブルに画像ファイルを添付した
Word文書を格納したいのですが、どのように入れたら
よいのかが全くわかりません。
(データ型を「image」にするところまでしかわからず…)

フロントエンドをadpファイルにしているので、そちらから
[挿入]で入れられるかとも思ったのですがダメでした。

素人なもので、できればManagement Studioで格納する
方法を教えて頂けると助かります。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2008-04-04 13:26
こんにちは。
今更かもしれませんが...

まず、image 型は将来のバージョンの SQL Server で削除されるようなので使わない方が良いです。
代わりに varbinary(max) 型を使ってください。

あとは、ADO の Stream オブジェクト を使うなりして Word 文書を格納してください。

たとえばこんな感じです。
コード:
Private Sub AddWordFile()

Dim adoRecordSet As ADODB.recordset
Dim adoStream As ADODB.Stream

Set adoRecordSet = New ADODB.recordset
adoRecordSet.Open "SELECT Word文書を格納する列 FROM テーブル", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Set adoStream = New ADODB.Stream
adoStream.Type = adTypeBinary
adoStream.Open
adoStream.LoadFromFile "d:\test.docx"

adoRecordSet.AddNew
adoRecordSet.Fields("Word文書を格納する列").Value = adoStream.Read
adoRecordSet.Update

adoStream.Close
adoRecordSet.Close

End Sub



サポート技術情報の ADO Stream オブジェクトを使用して SQL Server の BLOB データへのアクセスおよび変更を行う方法 は参考になると思います。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
1

スキルアップ/キャリアアップ(JOB@IT)