2016-02-26 46 views
0

由於可能存在超過4000個字符的字段,我需要從具有定義爲clob數據類型的列的oracle視圖中重新獲取數據。如何在VB中處理Excel中的Clob數據類型SQL查詢

我在Excel VB中執行子例程,執行查詢並將結果放入單元格區域,但是當我嘗試執行查詢時遇到問題「數據類型不受支持」。

甚至有可能在Excel中查詢Clob數據類型的列嗎?

我無法找到任何信息,這將表明我哪裏出錯了。

感謝您的幫助提前。

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 
+0

你遇到了什麼問題? –

+0

對不起復制錯誤的文本說數據類型不支持。 – Tricky9132

+0

它說什麼?在哪一行? – Raystafarian

回答

1

我也遇到了同樣的問題。在嘗試打開記錄集時出現「未指定的錯誤」。我發現使用Oracle Home驅動程序可以解決此問題。

請按照下面的步驟來配置的Oracle Home驅動程序在你的機器 -

  1. 安裝Oracle即時客戶端12C
  2. 找到這條路徑 - C:\Oracle\product\12.1.0\client\Network\Admin\Sample
  3. 都複製 「SQLNET.ORA」 和「TNSNAMES .ORA」文件
  4. 粘貼在Admin文件夾(如上面提到的路徑)
  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))驅動程序名稱添加下面的代碼 我的司機名稱顯示爲 - 甲骨文公司在OraClient12Home1
  9. 嘗試以下連接字符串

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