我使用的是vb,数据库系统用的是oracle,请教各位大侠如何用源代码对blob型数据进行存取?

解决方案 »

  1.   

    Dim rs As New ADODB.Recordset
    Dim bteData() As Byters.Fields("BLOB字段").AppendChunk bteData
      

  2.   

    试试ADO.Streamhttp://support.microsoft.com/default.aspx?scid=kb;EN-US;258038
      

  3.   

    请说的详细些,bteData()是用来表示什么信息的?
      

  4.   

    同意 lxcc(虫莲)的方式,使用ado stream对象进行.
    你会发现它十分的灵活方便!
      

  5.   

    lxcc(虫莲)提供的网址是用SQL Server数据库,我不知道Oracle与之有多少区别,为什么我用这个程序不行。我的程序如下:
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim mstream As ADODB.StreamPrivate Sub Command1_Click()
    CommonDialog1.ShowOpenstrfile = CommonDialog1.FileName
    Label1.Caption = strfile
    Image1.Picture = LoadPicture(strfile)
    End Sub
    Private Sub Command2_Click()
    Set cn = New ADODB.Connection
    cn.Open "provider=MSDAORA.1;User ID=mis;Password=mis;datasource=ss;Persist Security Info=False"Set rs = New ADODB.Recordset
    rs.Open "Select * from pic_test where id='1'", cn, adOpenKeyset, adLockOptimisticSet mstream = New ADODB.Stream
    mstream.Type = adTypeBinary
    mstream.Open
    mstream.Write rs.Fields("blob").Value
    mstream.SaveToFile strfile, adSaveCreateOverWriters.Close
    cn.CloseEnd Sub
    提示:
    实时错误‘-2147467259(80004005)’:
    数据类型不被支持。
      

  6.   

    bteData()是一个二进制类型的动态数组,用来提取大数据文件
    用ADO的数据流也可以,不过我不太喜欢用高版本的ADO,所以用这个最基本的方法替换了~~
      

  7.   

    为什么我执行这句的时候
    rs.Open "Select * from pic_test where id='1'", cn, adOpenKeyset, 
    会出错,错误提示为:数据类型不被支持。
      

  8.   

    怎么返回 rs.Fields("BLOB字段")值呀,我没有办法查询blob型数据呀
    谁知道?帮帮我吧!急急急