如何使用vb6获取clob数据

时间:2016-08-17 04:31:40

标签: oracle vb6

我想用vb 6获取clob数据。为此,我编写了以下代码:

    Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim cn As String
Dim fingerdata1 As String
Dim SQL As String

Private Sub Command1_Click()
conn.Open cn
cmd.ActiveConnection = conn
conn.CursorLocation = adUseClient
SQL = "select FINGERDATA from FINGERDATA"
 rs.ActiveConnection = conn
  rs.CursorLocation = adUseServer
rs.LockType = adLockReadOnly
rs.Source = SQL
rs.Open
rs.MoveFirst ' to be safe
Do While Not rs.EOF
       fingerdata1 = rs.Fields("FINGERDATA").Value
       MsgBox (fingerdata1)
       rs.MoveNext
Loop
End Sub

Private Sub Form_Load()
cn = "Provider=MSDAORA.1;Password=fingerprintdata;User ID=fingerprintdata;Data Source=10.11.201.84;Persist Security Info=True"
End Sub

但是当我运行此代码时,我收到以下错误:

enter image description here

如何解决此错误?请帮我从vb6中的oracle获取clob数据。

3 个答案:

答案 0 :(得分:1)

使用Oracle Home Driver从CLOB数据类型中检索数据。

在下面介绍了如何在您的计算机上配置Oracle Home Driver。

How to Handle Clob Data Type in Excel from VB SQL Query

答案 1 :(得分:1)

我不得不审查很多帖子,这是一种最终适用于我的情况的解决方案:

我不得不使用“ OraClient12Home1中的Oracle”而不是“ Microsoft ODBC for Oracle”,因为Microsoft不能处理CLOB。

请注意,在我的情况下,“ strSQL”语句仅检索一个CLOB值。

VBA代码:

strCon = "Driver={Oracle in OraClient12Home1};DBQ=alias from your TNSNAMES.ORA ;uid=MYSUER;pwd=MYPASS;"
Connection.Open (strCon)

Results.Open strSQL

Dim strTxt As String

**strTxt = CStr(Results.Open.Fields(0).Value)**

ThisWorkbook.Worksheets(6).Cells(3, 1) = strTxt

答案 2 :(得分:0)

以下代码适用于我。

Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim cn As String
Dim fingerdata1 As String
Dim SQL As String

Private Sub Command1_Click()



conn.Open cn
cmd.ActiveConnection = conn
conn.CursorLocation = adUseClient
rs.Open "select * from FINGERDATA", conn
rs.MoveFirst ' to be safe
Do While Not rs.EOF
       fingerdata1 = rs.Fields("FINGERDATA").Value
       MsgBox (fingerdata1)
       rs.MoveNext
Loop
End Sub

Private Sub Form_Load()
cn = "Provider=OraOLEDB.Oracle;Password=fingerprintdata;User ID=fingerprintdata;Data Source=10.11.201.84;Persist Security Info=True"
End Sub