_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Oracle中大对象(lob)处理方法(2)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

  ole_1.objectdata =ole_blob
  If ole_1.activate(offsite!) <> 0 Then
  Messagebox("OLE Activate","不能激活")
  Return -1
  end If
  end if
  else
  messagebox("提示","没有附件")
  end if
  end if
  
 �ǘ┰趘b中的处理
  
  在vb中处理大对象一般可以用OO4O(oracle objects for ole)来处理大对象这里介绍一种不用0040处理大对象blob的方法。
  
  下面这段程序可以将一个文件(文本文件doc文件,图象文件等)保存到数据库中,并可以将其从数据库读出
  
  需要两个commandbutton
  
  cmd1 名称 cmdsave caption 保存
  
  cmd2 名称 cmdread caption 读取 网管bitscn_com
  
  一个cmddialog控件
  
  同时需要创建一张表t_demo(字段id 类型 number,;字段text 类型 blob;)
  
  exmple 3.
  Option Explicit
  Dim rn As ADODB.Connection
  Public Function CreateDataSource(DataSource As String, UserID As String, Password As String) As Boolean
  On Error GoTo DbConErr:
  Set rn = New ADODB.Connection
  With rn
  .ConnectionString = "Provider=OraOledb.Oracle.1;" & _
  "password=" & Password & ";" & _
  "User ID =" & UserID & ";" & _
  "Data Source=" & DataSource & ";" & _
  "Locale Identifier=2052"
  .Open
  End With
  CreateDataSource = True
  Exit Function
  DbConErr:
  CreateDataSource = False
  End Function
  
  Private Sub cmdRead_Click()
  Dim rs As New ADODB.Recordset
  rs.ActiveConnection = rn
  rs.LockType = adLockOptimistic
  rs.CursorLocation = adUseClient
  rs.Source = "select * from t_demo"
  rs.Open
  ComDlgDir.DialogTitle = "保存文件"
网管联盟bitsCN_com

  ComDlgDir.Filter = "*.*"
  ComDlgDir.ShowSave
  Call BlobToFile(rs.Fields("text"), ComDlgDir.filename)
  Set rs = Nothing
  Exit Sub
  Set rs = Nothing
  End Sub
  
  Private Sub cmdsave_Click()
  Dim rs As New ADODB.Recordset
  rs.ActiveConnection = rn
  rs.LockType = adLockOptimistic
  rs.CursorLocation = adUseClient
  rs.Source = "select * from t_demo"
  rs.Open
  rs.AddNew
  ComDlgDir.DialogTitle = "选取文件"
  ComDlgDir.ShowOpen
  rs.Fields("id").Value = 1
  If ComDlgDir.filename <> "" Then
  Call FileToBlob(rs.Fields("text"), ComDlgDir.filename)
  rs.Update
  End If
  Set rs = Nothing
  Exit Sub
  Set rs = Nothing
  End Sub
  
  Private Sub Form_Load()
  If Not CreateDataSource("sid", "systemp", "manager") Then
  MsgBox "Connection failure!"
  End If
  End Sub
  
  fld As ADODB.Field, filename As String, Optional ChunkSize As Long = 8192)
网管下载dl.bitscn.com

  Dim fnum As Integer, bytesleft As Long, bytes As Long
  Dim tmp() As Byte
  If (fld.Attributes And adFldLong) = 0 Then
  Err.Raise 1001, , "field doesn't support the GetChunk method."
  End If
  If Dir$(filename) = "" Then Err.Raise 53, , "File not found"
  fnum = FreeFile
  Open filename For Binary As fnum
  bytesleft = LOF(fnum)
  Do While bytesleft
  bytes = bytesle


    希望这篇Oracle中大对象(lob)处理方法(2)的文章能够对您有所帮助,如果您觉得这篇网站维护教程有用的话,别忘了推荐给您的朋友哦!如果您有好的经验方法,不妨拿出来和大家一起分享:假如每个人都拿出一个经验,那么我们都将额外的获取一堆他人的经验。
请记住本站永久域名:(黑客防线网安服务器维护方案维护基地)Www.Rongsen.Com.Cn
    黑客防线网安服务器维护方案本篇连接:http://shop.rongsen.com.cn/show-13328-1.html
网站维护教程更新时间:2012-03-23 00:53:47  【打印此页】  【关闭
0
顶一下
0
踩一下
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer