1

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

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

4

1 回答 1

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
于 2009-01-28T20:12:47.347 回答