请问各位老大,sql server如何存储ole对象(如WORD文件)?如何存储超级链接(象access里面的那种存储超级链接,ole对象)?

解决方案 »

  1.   

    超级链接用varchar类型的就可以了WORD文件之类的用image类型的就可以了
      

  2.   

    怎么把文件存进去呢?是不是用sql语句?要怎么写呢?
    超级链接存储成http://www.sina.com.cn是可以的。
    但是要存储成:新浪(一点击新浪就可以链接到新浪的网站上),怎么来解决呢?
      

  3.   

    1 .doc保存到数据库的Image字段:
      创建文件流:
         Word_FileStream:=TFileStream.Create('MyDoc.doc',fmOpenWrite or fmCreate);
         Word_FileStream.Position:=0;
         TBlobField(AdoQuery1.FieldByName(Column_Name)).LoadFromStream(Word_FileStream);     2 从数据库读取文件到本地硬盘并存为 .doc:
         Word_FileStream:=TFileStream.Create('Temp.DOC',fmOpenWrite or fmCreate);
         TBlobField(AdoQuery1.FieldByName(Column_Name)).SaveToStream(Word_FileStream);释放文件流:
         Word_FileStream.Free;
      

  4.   

    'VB/VBA中实现数据库中的文件存取'示例数据库为ACCESS数据库,用SQL数据库的话,只需要改连接字符串
    '
    '*************************************************************************
    '**
    '** 使用 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
        
        'ACCESS数据库的连接字符串
        iConcStr = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False" & _
            ";Data Source=F:\My Documents\客户资料1.mdb"
        
    'SQL数据库的连接字符串
        iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
            "User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
        '读取文件到内容
        Set iStm = New ADODB.Stream
        With iStm
            .Type = adTypeBinary    '二进制模式,如果是用text/ntext字段保存纯文本数据,则改用 adTypeText
            .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"    if iRe("img").ActualSize>0 Then     '保存到文件
        Set iStm = New ADODB.Stream
        With iStm
            .Mode = adModeReadWrite
            .Type = adTypeBinary '二进制模式,如果是用text/ntext字段保存纯文本数据,则改用 adTypeText
            .Open
            .Write iRe("img")
            .SaveToFile "c:\test.doc"
        End With
        
        '关闭对象
        iStm.Close
    End If    iRe.Close
    End Sub