如何使用vba从excel从数据库(varbinary max)检索pdf文件
我不知道如何通过ExcelVBA从数据库中检索或提取pdf文件?(在c#,asp…)中有很多帮助) 存储在SQL Server数据库的varbinary max type字段中的文件 我可以通过VBA连接或访问记录集,然后如何从该记录集中提取它如何使用vba从excel从数据库(varbinary max)检索pdf文件,excel,vba,Excel,Vba,我不知道如何通过ExcelVBA从数据库中检索或提取pdf文件?(在c#,asp…)中有很多帮助) 存储在SQL Server数据库的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.Connec
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