VB6 Oracle将Clob检索到一个数组中

时间:2009-01-27 15:50:25

标签: oracle vb6 ado recordset clob

我正在尝试将带有数据类型clob的oracle字段检索到VB数组中,而不重新格式化检索SQL字符串(只需SELECT * FROM my_table)。我正在使用ADO记录集。

当我关闭连接或对记录集执行任何其他操作时,clob值将丢失。我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:3)

在我的一个项目中,我尝试使用ADO操作BLOB和CLOB,但没有任何成功,直到我切换到Oracle Objects 4 OLE。您需要在计算机上安装和配置Oracle客户端,在项目引用中添加“Oracle InProc Server 4.0类型库”。

以下是我用于BLOB的示例代码:

Dim OraSession  As OracleInProcServer.OraSessionClass
Dim OraDatabase As OracleInProcServer.OraDatabase
Dim OraDynaset  As OracleInProcServer.OraDynaset
Dim srcImg As OraBlob

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.DbOpenDatabase("myDBName", "login/password", 0&)

Set OraDynaset = OraDatabase.DbCreateDynaset("SELECT src_id, src_image from Sources where src_file_name like '%.png'", 0&)
With OraDynaset
    If .RecordCount > 0 Then
        .MoveFirst
        While (Not .EOF Or .BOF)
            Set srcImg = .Fields("src_image").Value
            srcImg.CopyToFile ("C:\sources\" & srcID & ".png")
            .MoveNext
        Wend

    End If
End With

Set OraDynaset = Nothing
Set OraDatabase = Nothing
Set OraSession = Nothing