如何从VB SQL查询处理Excel中的Clob数据types

我需要从具有定义为clob数据types的列的oracle视图中重新获取数据,因为该字段中可能存在超过4000个字符。

我在Excel VB中执行子例程,执行查询并将结果放入单元格区域,但是当我尝试执行查询时遇到问题“数据types不受支持”。

甚至有可能在Excel中查询Clob数据types的列?

我无法find任何信息,这将表明我哪里错了。

我在这里先向您的帮助表示感谢。

Sub Get_Data4() Dim cn As Object Dim rs As Object Dim strCon As String Dim strSQL As String Dim strUsername As String Dim strPassword As String Dim strInput As String 'strUsername = InputBox("Input User Name") 'strPassword = InputBox("Input Password") strCon = "Provider=MSDAORA;Data Source=xxx;User ID=xxx;Password=xxx;" Set cn = CreateObject("ADODB.Connection") cn.Open strCon strSQL = "Select clob_field from Table1" Set rs = CreateObject("ADODB.RECORDSET") rs.ActiveConnection = cn rs.Open strSQL Sheet1.Range("A4").CopyFromRecordset rs rs.Close cn.Close Call Get_Data End Sub 

我也面临同样的问题。 在尝试打开logging集时出现“未指定的错误”。 我发现使用Oracle Home驱动程序可以解决这个问题。

请按照以下步骤在您的机器上configurationOracle Home Driver –

  1. 安装Oracle即时客户端12C
  2. find此path – C:\Oracle\product\12.1.0\client\Network\Admin\Sample
  3. 复制“sqlnet.ora”和“tnsnames.ora”文件
  4. 粘贴到Admin文件夹中(如上面的path所述)
  5. 编辑“tnsnames.ora”文件
  6. 在最后添加下面的代码

     [DS Name as you wish] = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = [your DB server name or IP])(PORT = [Port Number])) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = [Your DB Service Name]") ) ) 
  7. 保存文件

  8. 在ODBC驱动程序( Control Panel -> Administrative Panel -> Data Sources (ODBC) )中检查驱动程序名称我的驱动程序名称显示为 – Oracle in OraClient12Home1
  9. 尝试下面的连接string

     ConnectionString="Driver={Oracle in OraClient12Home1};DBQ=Your SERVICE_NAME;User ld=User ID;pwd=Password;"