簡體   English   中英

如何從 SQL 查詢處理 Excel 中的 Clob 數據類型

[英]How to Handle Clob Data Type in Excel from SQL Query

由於字段中可能有超過 4000 個字符,我需要從 Oracle 視圖中檢索數據,該視圖的列定義為 clob 數據類型。

我在 Excel VBA 中有一個子例程,它執行查詢並將結果放入單元格范圍。

我遇到錯誤

“不支持的數據類型”

strSQL = "Select clob_field from Table1"

甚至可以在 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

我也遇到過同樣的問題。 嘗試打開記錄集時出現“未指定錯誤”。 我發現使用 Oracle Home 驅動程序解決了這個問題。

請按照以下步驟在您的機器中配置 Oracle Home Driver -

  1. 安裝 Oracle Instant Client 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) )我的驅動程序名稱顯示為 - Oracle in OraClient12Home1
  9. 試試下面的連接字符串

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM