【问题标题】:how to retrieve pdf file from database (varbinary max) from excel using vba如何使用vba从excel中从数据库(varbinary max)中检索pdf文件
【发布时间】:2016-05-12 12:37:13
【问题描述】:

我不知道如何通过 excel vba 从数据库中检索或提取 pdf 文件? (在 c#、asp...中有很多帮助)

存储在 SQL Server 数据库的 varbinary max type 字段中的文件。

我可以通过 VBA 连接或访问记录集,然后如何从该记录集中提取它

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    Dim cn  As ADODB.Connection
    Dim rs  As ADODB.Recordset
    Dim sql As String
    Dim oStream As ADODB.Stream
    
    Set cn = New ADODB.Connection
    
    'Here I use default admin user 'sa' and password is blank
    cn.Open "Provider = sqloledb;" & _
            "Data Source=ServerNameOrIP;" & _
            "Initial Catalog=DBName;" & _
            "User ID=sa;" & _
            "Password=;"""
    
    'your sql statment including varbinary max field here it is FILEDATA
    sql = " select EMAILID,EMAILFROM,EMAILTO,EMAILSUBJECT,FILEDATA from Tbl "
    
    
    Set rs = New ADODB.Recordset
    
    rs.Open sql, cn
    
    Do Until rs.EOF
        Set oStream = New ADODB.Stream
        With oStream
             .Type = adTypeBinary
             .Open
             .Write rs.Fields(4).Value
             'Here I use 1st field value as file name i.e. rs.fiedls(0).value 
             'In addition you can join drive and/or folder path to save another location
             .SaveToFile rs.Fields(0).Value & ".pdf", adSaveCreateOverWrite
             .Close
        End With
        Set oStream = Nothing
        rs.MoveNext
    Loop
    
    
    rs.Close
    cn.Close
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多