技术开发 频道

在Access和SQL Server数据库中存取文件

  【IT168技术文档】

  下面介绍一个使用 ADODB.Stream 来保存/读取文件到数据库的例子,它引用 Microsoft ActiveX Data Objects 2.5 Library 及以上版本。

  数据库连接字符串模板如下:

  Access数据库

iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _ ";Data Source=数据库名"

  SQL数据库

iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _ "User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"

  下面是ASP的使用代码:
'保存文件到数据库中 Sub s_SaveFile() Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset Dim iConcStr As String '数据库连接字符串 iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _ ";Data Source=F:\My Documents\客户资料1.mdb" '读取文件到内容 Set iStm = New ADODB.Stream With iStm .Type = adTypeBinary '二进制模式 .Open .LoadFromFile "c:\test.doc" End With '打开保存文件的表 Set iRe = New ADODB.Recordset With iRe .Open "", iConc, adOpenKeyset, adLockOptimistic .AddNew '新增一条记录 .Fields("保存文件内容的字段") = iStm.Read .Update End With '完成后关闭对象 iRe.Close iStm.Close End Sub '从数据库中读取数据,保存成文件 Sub s_ReadFile() Dim iStm As ADODB.Stream Dim iRe As ADODB.Recordset Dim iConc As String '数据库连接字符串 iConc = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _ ";Data Source=\\xz\c$\Inetpub\zj\zj\zj.mdb" '打开表 Set iRe = New ADODB.Recordset iRe.Open "tb_img", iConc, adOpenKeyset, adLockReadOnly iRe.Filter = "id=64" '保存到文件 Set iStm = New ADODB.Stream With iStm .Mode = adModeReadWrite .Type = adTypeBinary .Open .Write iRe("img") .SaveToFile "c:\test.doc" End With '关闭对象 iRe.Close iStm.Close End Sub
0
相关文章