如何使用vba从excel中检索数据库中的pdf文件(varbinary max)

问题描述:

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

存储在SQL Server Databse的varbinary max type字段中的文件。

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

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