对数据库是用ADODB.Stream方法进行二进制操作的朋友请进,有关问题:无法将二进制流写入文件

对数据库是用ADODB.Stream方法进行二进制操作的朋友请进,问题:无法将二进制流写入文件
数据库中的二进制内容都是正常的,但是用ADODB.Stream方法把数据库中的二进制代码写成文件却出现错误,错误提示:activex   componet   can 't   creat   object

意思是:活动部件不能建立对象

查找微软知识库,得知的原因如下:
如果满足以下任一条件,就可能发生这种情况:   •   未正确注册数据访问对象   (DAO)。

-   或   -  
•   一个或多个引用丢失。

-   或   -  
•   存在无效实用工具数据库引用。

-   或   -  
•   对所需的库没有必需的权限。

-   或   -  
•   存在损坏的向导文件。  


根据其解决方案,处理无效

==========================================
另外,出现这种情况的计算机很怪异,同一个机房,有数十台电脑,配置完全一致,操作系统完全一致[因为是克隆的],但就会有些出现问题,有些没有问题。
怀疑是病毒所为,本人求解决方案。

注:本人所管理机房从未出现这种情况,本人也使用多台计算机试图模拟能够促使其出现的环境,也没有成功,因此到这里求助,如有遇到类似问题者,共同探讨交流或与之学习。谢谢

------解决方案--------------------
参考:Dim Conn,ConnStr,Rs,Sql,MyStream

ConnStr= "DBQ= " + Server.Mappath( "Demo.mdb ") + ";DRIVER={Microsoft Access Driver (*.mdb)}; "

Set Conn = Server.CreateObject( "Adodb.Connection ")

Conn.Open ConnStr

Sql = "select * from demo where id=1 "

Set Rs = Server.CreateObject( "Adodb.RecordSet ")

Rs.Open Sql,Conn,1,3

Set MyStream=Server.CreateObject( "Adodb.Stream ")

MyStream.Type = 1

MyStream.Open

MyStream.Write Rs( "data ").GetChunk(rs( "data ").ActualSize-78)

MyStream.SaveToFile "c:\ " & Rs( "fileName ")

Rs.Close

Set Rs = Nothing

Conn.Close

Set Conn = Nothing

------解决方案--------------------
'Don 't use CreatObject,if "Server " object haven 't yet created.You may give it a try with the below codes,GOOD LUCK!

*************************************************************************
'**
'** 使用 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服务器名 "
'**
'*************************************************************************
'
'保存文件到数据库中
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